Зачем нужен Enzyme?

Всем привет

Сегодня поймал себя на довольно интересной мысли – зачем вообще нужен Enzyme?

Enzyme это всего-лишь возможность протестировать поведение и содержимое разметки компонента в различных условиях. Это всё, насколько я понимаю.

Таким образом, когда мы тестируем компоненты, мы создаем окружение, создаем компонент и проверяем что он повел себя, или отрендерился корректно. Для этого мы создаем стабы, моки, прокси-объекты, и проверяем ноды.

Функциональное тестирование в результате тоже проверяет поведение компонента, но связанное уже с целевыми пользовательскими сценариями. Без стабов, прокси-объектов и прочего, мы всё-равно проверим что система и компоненты в нужных нам сценариях работают корректно, так как если интеграция будет сломана, приложение сломается.

Таким образом, тесты на Enzyme это в конечном итоге лишь аналог функциональных тестов.
Поэтому, вопрос, зачем писать и "юниты" на Enzyme, и функциональные тесты одновременно?

Пока вижу плюсы:
1. Возможность всесторонне проверить работу компонента
2. Скорость тестирования значительно выше

С другой стороны, функциональное тестирование в сто раз проще (привязался к селектору, и всё; имхо).

Ваши мысли?
  • Вопрос задан
  • 418 просмотров
Пригласить эксперта
Ответы на вопрос 1
vovaspace
@vovaspace
Frontend Engineer
Например, вы разрабатываете библиотеку компонентов, и нужно тестировать каждый компонент отдельно.

Ну и правильно говорите, скорость.

Если не нравится подход с тестированием внутренностей компонента, посмотрите на React Testing Library .
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы