Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
сейчас уже можно сказать, что разработка через тестирование стала стандартом де-факто. Практически в любых вакансиях фигурирует требование к знанию и опыту использования методики TDD и соответствующих инструментов.Это не так. TDD работает в некоторых частных случаях, но не более.
TDD работает в некоторых частных случаях, но не более
писать авто-тесты на существующий код иногда просто не возможно, ведь код, написанный в обычной парадигме, как правило совершенно тесто-не-пригодный.
писать авто-тесты на существующий код иногда просто не возможно, ведь код, написанный в обычной парадигме, как правило совершенно тесто-не-пригодныйЕсли вы под «обычной парадигмой» понимаете говнокод-спагетти, то его тестами покрывать сложно. Но не стоит называть это «обычной парадигмой». Просто плохое проектирование, безотносительно причин.
Количество тестов позволяет предположить, что TDD имеет место быть.Не позволяет, это обращение импликации. Плохое покрытие говорит о неиспользовании TDD, нормальное покрытие не говорит об использовании или неиспользовании TDD. Гораздо вероятнее, что у них просто есть требование написания тестов на новый функционал и регрессионных тестов на баги, такой подход тоже даёт более-менее хорошее покрытие кодовой базы.
TDD НЕ работает в некоторых частных случаях
Given user with browser without JSESSIONID cookie set
And without X-AUTH cookie set
When he enters to restricted area
Then he receive redirect to authentication page
добавляются позитивные, негативные сценарииЭто просто расширение спецификации/user stories, оно абсолютно нормально в рамках BDD.
Ожидаем.Что(5).НеРавно(7);
Ожидаем.Что(5).Не_().Равно(7);
Ожидаем.Что(5).Не_().Равно(7);
Ожидаем.Что(5).Нет().Равно(7);
Юнит-тесты, BDD и сила текучих утверждений (fluent assertions) в 1С