Перейти к основному содержимому

Сначала пишутся unit-тесты

Когда сначала пишутся unit-тесты, становится проще писать непосредственно сам код.

Общее время, необходимое для написания unit-тестов и затем кода для его прохождения, примерно такое же, как и при написании кода.

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

Также наличие тестов до реализации предоставляет дополнительную обратную связь на самом раннем этапе — при написании кода. Тестируемые сценарии помогают отслеживать прогресс и убедиться, что в рамках задачи реализован весь необходимый функционал.

Некоторые системы сложно тестировать и в таком случае сначала пишется код, а затем тесты (в некоторых случаях отдельной командой). Написание тестов до кода упрощает архитектуру системы, делая её более тестируемой.

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

В результате получается простой и лаконичный код, который реализует только нужные функции. Другие разработчики могут использовать тесты как документацию к этому коду.