Lessons: Testing

The first step to writing fault tolerant and scalable code is writing bug free code. In these lessons we explore how best to test our Elixir code.

Тестирование

Тестирование — важная часть разработки. В этом уроке мы узнаем, как тестировать наш Elixir-код с использованием ExUnit, а также познакомимся с некоторыми отличными приёмами.

Bypass

При тестировании приложений часто идет речь о запросах к внешним сервисам. Мы даже можем захотеть имитировать такие различные ситуации, как ошибки со стороны сервера. Реализация подобного подхода в Elixir требует дополнительных инструментов.

В этом уроке мы рассмотрим, как библиотека bypass может помочь с таким тестированием.

StreamData

Ориентированная на примеры библиотека для модульного тестирования вроде ExUnit - это отличный инструмент, чтобы удостовериться, что ваш код работает так, как вы от него ожидаете. Тем не менее, тестирование на примерах имеет некоторые недостатки:

  • Бывает легко упустить крайние случаи, так как тестируется ограниченный набор входных данных.
  • Такие тесты могут быть написаны без тщательного продумывания требований к коду.
  • Также они могут содержать много кода, если использовать несколько примеров для каждой функции.

В этом уроке мы узнаем, как библиотека StreamData может помочь нам справиться с этими недостатками.