Об ИТ из Канады

Блог Михаила Флёнова - программист, блогер, автор нескольких скандальных книг какими-то глазами...

Все говорят пишите тесты, а ты пишешь тесты?

2017-06-12 06:11:13 / Программирование

Примерно пару месяцев назад я на телефоне общался с американской консалтинговой компанией и они меня спрашивали, как я разрабатываю и пишу ли юнит тесты. Они вроде бы их пишут и обожают, поэтому и задали вопрос. 

Месяц назад я начал работать над достаточно большим проектом (обычно у меня минипроекты на пару недель, а тут два месяца), который включает много достаточно сложного функционала. Когда я закончил базовую часть, протестировал руками, полез искать, где хранятся юнит тесты. Я нашел всего один файл с тремя абсолютно бестолковыми тестами. По идее, они написали их за год работы. Только для этого проекта я добавил уже 18 тестов и это не предел, еще нужно добавить как минимум столько же. 

Все говорят про юнит тесты, любит ими хвастаться и тыкать ими, но как доходит до дела, то реально почему-то мало кто занимается иих написаниями. А если и пишут, то какое-то дерьмо, лишь бы начальство отвалило.

А ты пишешь юнит тесты? Серьезно подходишь к этому делу? 


Комментарии

Ololo

Не пишу по своей воле никогда. Абсолютно бесполезное дело. Требования меняются, код рефакторится после этого тесты не работают, надо их или рефакторить или менять логику после смены требований или удалять нафиг. На них уходит куда больше времени и гораздно больший объём кода чем на сам код который тестируется. Сколько было раз что код работал хорошо, а тест не хотел работать, тратил кучу времени чтобы заставить тест работать, чаще всего в моке какие-то данные неверные забил или забыл за что-то. Они дают только ложную уверенность, что всё хорошо если тест прошёл, в реальности даже программисты-фанаты тестов не проверяют все варианты, тест показывает, что всё ок, а в реальности там баги. Затраченные силы и время на написание тестов не окупают эффектиность тестов, КПД  низкий грубо говоря. Тратишь больше времени чем на разработку на фигню которая не даёт никаких гарантий. Если тесты после кода ещё хоть какой-то минимальный смысл, то ТДД вообще бесполезная чушь собачья.

2017-06-12 06:27:09

Влад

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

2017-06-12 09:01:59

MasDen

Обычно на проектах пишу тесты на важный функционал или сложную логику. Однако на текущем проекте заказчик требует чтобы тесты писались везде, где есть смысл. Потому текущие проекты имеют кучу полезных тестов.

2017-06-12 11:26:30

Сергей Попов

проекты обычно большие(полгода, год) пишу, хотя терпеть не могу

2017-06-30 12:53:42

Оставить комментарий


Умеешь пользоваться BB кодами? Прекрасно, здесь можно использовать [quote] для цитирования, а так же [b] и [i]. Остальные коды пока использовать запрещено. Я думаю по поводу их использования. В комментариях нельзя выяснять крутость каких-либо продуктов, нужно уважать собеседников и не грубить и нельзя ничего додумывать (читайте мои посты внимательно). Нарушение этих простых правил ведет к удалению комментариев без предупреждения.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Внимание!

А ты уже читал мою последнюю книгу о больших сайтах и приложениях? Узнай, что это такое здесь

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповидания на русском или английском языке.

Пишите мне