Dzmitryj_Black
@Dzmitryj_Black
Junior Front-end Developer

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

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

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

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

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

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
МТС Москва
от 140 000 до 170 000 ₽
Rondem Москва
от 60 000 до 140 000 ₽
HttpLab Ростов-на-Дону
от 40 000 до 110 000 ₽
07 авг. 2020, в 19:51
2000 руб./за проект
07 авг. 2020, в 19:24
4000 руб./за проект