Обновить

Фронтендеры, хватит покрывать тестами каждую строчку кода – это безумие

Время на прочтение6 мин
Охват и читатели8.6K
Всего голосов 23: ↑22 и ↓1+27
Комментарии4

Комментарии 4

Подержите мое пиво!

Не пишу никаких текстов вообще, уже года 4. Просто не вижу в этом смысла. Пока я пишу код, у меня открыт браузер и я сразу проверяю работу. Потом деплой, автотесты, ручное тестирование тестировщиками и нт. Если какой-то баг и закрался — найдут пользаки в проде, а правка дело плевое. Вообще не понимаю зачем тратить время на попытки сэмулировать браузер в ноде и что-то там тестировать. Как-то начал еще playwrite тесты писать, но потом и их выкинул.

Это вы не видели ещё самое бестолковое) на пару недель загремел в другую команду, помочь с релизом MVP. Так у них в проекте(при том, что это MVP и надо вроде как побыстрее) буквально на каждый, даже самый мизерный компонент, написан бесполезный тест на jest, который проверяет, что компонент рендерится. Без различных комбинаций пропсов, без пограничных случаев или исключений, и все такие написанные ранее тесты перед коммитом должны пройти.

Казалось бы, ну тесты и тесты, ну запускаются там себе перед коммитом. Проблемы начались тогда, когда компонент-заглушка(на который, разумеется, написан свой тест) перестал быть таковым - в нём появился хук из RTK, а именно useAppSelector: это сломало тесты, ведь jest не знает, что это за метод, какие значения он отдаст в компонент. Теперь необходимо идти в поломанный бесполезный тест и мокать в нём хук, а так же значения, которые он вернёт для теста.

И так в каждом бесполезном тесте компонента, где ранее не использовался useAppSelector, но вдруг стал. По итогу получается какая-то обезьянья работа: тратить время на починку того, что не несёт в себе никакой пользы. Причём в будущем проект будет покрываться интеграционными тестами, что лишает написание обсуждаемых выше юнит-тестов на jest какого-либо смысла. Но тем не менее, единственным фронтенд-разработчиком на этом проекте(если не считать тех, кого время от времени присылают на помощь, как меня) тесты упорно пишутся

Тесты можно писать и редачить через ИИ. Тесты полезны тем, что показывают, что что-то где-то отвалилось или отвалится, когда настанет какой-то edge case. Писать чего-то посложнее статичного одностраничника без тестов - это приговаривать компанию тратить х часов или дней на неуловимого бага. Уж нет, спасибо, проходили через такой гемор. Писать сложное без тестов, это как заниматься в постеле без защиты - по идее можно, но даже натренированная реакция не защитит от появления детей.

Зато если избегать тестов, то это станет причиной появления новых задач по проектам, что может кормить команду потом ещё долгое время

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации