2 ноября 2008 г.

Red-Green-Refactoring. Зачем красная полоска?

Напомню «мантру» TDD — Red-Green-Refactoring. И главное правило — Никогда не пиши рабочий код без неудачно завершившегося теста.

Красная полоса после запуска тестов показывает, что один или несколько тестов не прошли. Красная полоса показывает недоделку или ошибку в коде. Что-то работает не так, как должно. Пусть эта красная полоса подталкивает нас скорее избавится о чувства незавершённости и неработоспособности кода.

Цикл разработки состоит из следующих шагов:

  1. Описываю сценарий работы в тесте.
  2. Создаю недостающие объекты, чтобы код компилировался.
  3. Запускаю тест и вижу, что он не работает (красная полоса). Здесь появляется маячок, который подталкивает меня решать проблему. Хочу зелёную полоску!
  4. Пишу код до тех пор, пока тест не сработает.
  5. Вижу зелёную полоску и внутренне радуюсь своей маленькой победе
  6. Рефакторю код, если это необходимо. После чего делаю контрольный запуск тестов, чтобы убедиться, что при рефакторинге ничего не сломалось.

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


Ссылки

TDD: Fail fast

Test-driven development

What's the point of Test Driven Development?

http://reddevnews.com/techbriefs/article.aspx?editorialsid=849

http://bloggingabout.net/blogs/dennis/archive/2005/12/14/10554.aspx

Комментариев нет:

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