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


5 0

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

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

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

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


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Ololo

12 Июня 2017

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


Влад

12 Июня 2017

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


MasDen

12 Июня 2017

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


Kastor

12 Июня 2017

Я пишу юнит тесты. Более того стараюсь и других приучить.
Для этого настроил сборку так, что если кто-то понизил своими комитами уровень покрытия, то сборка валится.
http://www.kastordriver.one/2017/02/keep-code-coverage-on-radar.html

А так же я разделяю юнит и интеграционные тесты, т.к. юнит тесты я запускаю довольно часто и они не должны быть тормознутыми.
http://www.kastordriver.one/2017/02/separate-and-rule-your-tests.html

В дальнейшем планирую освоить и ввести в практику UI тесты (смотрю на http://ru.selenide.org/)

Более того, практикую TDD и даже делал доклад на эту тему.
https://dou.ua/calendar/14483/

Моя далекая мечта - это continuous delivery.
Короче, я серьезно отношусь к тестам =)


Сергей Попов

30 Июня 2017

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


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

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

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

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

Пишите мне