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

Unit-тесты

Unit-тесты — краеугольный камень экстремального программирования.

Прежде всего должны быть настроены инструменты для написания и запуска тестов. Unit-тесты должны создаваться до написания кода. Тривиальные методы вроде геттеров и сеттеров могут быть опущены при тестировании.

Тесты являются неотъемлемой частью кода, который они тестируют. Код без тестов не может быть выпущен в production. Если обнаружилось отсутствие unit-теста, это должно быть исправлено как можно скорее.

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

Нельзя откладывать написание unit-тестов на последние этапы проекта. Помимо того, что без тестов разработка замедляется, выявление всех возможных проблем занимает время. Необходимо писать тесты сегодня, даже если кажется, что сейчас они не нужны.

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

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

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