Делайте больше с меньшими затратами

Есть несколько способов издеваться над целыми классами с помощью Jest. Автомокинг позволяет сделать это одной строкой кода — jest.mock(''). Краткий код является плюсом.

Он также делает именно то, что говорят разработчики Jest: издевается над предоставленным классом — методами, а не стрелочными функциями или переменными.

Созданные макеты затем можно использовать в тестах без необходимости корректировки существующих шпионов или функциональных макетов. Обычно.

Он также предоставляет отличный способ отсеять тестовые ошибки, такие как:

  • используемые методы, которые не были имитированы в тестах
  • макеты, которые должны возвращать данные

При автомокинге фиктивные функции по умолчанию возвращают undefined.

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

Также есть удобная опция конфигурации Jest, clearMocks, для очистки перед каждым тестом.

Обратите внимание на время выполнения тестов — иногда тесты нуждаются в оптимизации, а иногда это монолитный класс.😐

Ссылки и дополнительная литература: