Dzmitryj_Black
@Dzmitryj_Black
Front-end Engineer

Как автоматически сгенерировать тесты для всех vue компонентов?

Есть приложение на vue, настраиваю базовые конфиги, линтеры, гит хуки и вот это вот все.
На тесты не выделено оплачиваемое время. Но без тестов все приложение разрастется в одну большую (гигантскую) боль. Я ее хочу хоть немного пресечь.

Я уверен, что есть инструменты, позволяющие сгенерировать файлы тестов для каждого компонента. Хоть просто, рендерится компонент или нет (с ошибкой).
Или. например, есть несколько событий, ховер и клик. И тест проверяет работу обработчика при срабатывании события.

По сути, в тесте это шаблонно: тригерить событие и проверять результат (например, как в доках: https://vue-test-utils.vuejs.org/guides/#testing-k...

Нагуглил, что это называется "покрытием тестами", но чтобы автоматически - ничего.

Не проверять же полностью все приложение после каждой минимальной правки.

В общем, можно ли как-то автоматически покрыть имеющиеся компоненты тестами через консольную команду?

Смысл моего вопроса в том, чтобы тулзой пройтись по всем компонентам, проверить покрытие тестами и если для компонента его нет - сгенерировать. Есть ли такое, возможно ли такое?
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
Посмотрите в сторону тестирования со снепшотами. Вроде jest умеет, не знаю, насколько это работает с vue.

А вообще:
Не проверять же полностью все приложение после каждой минимальной правки.

Если у вас приложение написано грамотно, то минимальная правка в компоненте должна затрагивать только логику этого компонента (если вы не поменяли его внешнее api - тогда это затронет и другие, но шанс что это сломает уже их логику - минимален).
Поэтому да - все не проверять, после каждой правки вам достаточно проверить только сам этот компонент. Если у вас компоненты не на 1000 строк, то скорее всего вы и так все проверите в процессе разработки.

Если более формально - то есть storybook, где вы вообще девелопите каждый компонент по отдельности, изолированно и проверяете его по сути в процессе девелопмента. Он позволяет явно описать разные стейты компонента и быстро их проверить.

Вообще важность тестирования для UI компонентов крайне преувеличена, имхо. Большая часть упавших тестов в юай - не потому что ими пойман какой-то баг, а потому что поменялась логика и надо править тесты. Это как раз тот случай когда тесты работают в минус и в юай его доля крайне велика.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы