Делайте больше с меньшими затратами
Есть несколько способов издеваться над целыми классами с помощью Jest. Автомокинг позволяет сделать это одной строкой кода — jest.mock('')
. Краткий код является плюсом.
Он также делает именно то, что говорят разработчики Jest: издевается над предоставленным классом — методами, а не стрелочными функциями или переменными.
Созданные макеты затем можно использовать в тестах без необходимости корректировки существующих шпионов или функциональных макетов. Обычно.
Он также предоставляет отличный способ отсеять тестовые ошибки, такие как:
- используемые методы, которые не были имитированы в тестах
- макеты, которые должны возвращать данные
При автомокинге фиктивные функции по умолчанию возвращают undefined
.
Когда несколько тестов импортируют один и тот же сервис или требуют разных реализаций, рассмотрите возможность ручного моделирования, которое создает общие макеты классов.
Также есть удобная опция конфигурации Jest, clearMocks
, для очистки перед каждым тестом.
Обратите внимание на время выполнения тестов — иногда тесты нуждаются в оптимизации, а иногда это монолитный класс.😐
Ссылки и дополнительная литература: