Разработка через тестирование (TDD) включает в себя написание неудачного автоматического теста для определения того, что нужно построить. Затем тест проходит путем написания кода, который удовлетворяет проверяемому условию. Наконец, проводится рефакторинг кода.

Разработка через тестирование (TDD) - это процесс разработки программного обеспечения, основанный на повторении очень короткого цикла разработки: сначала разработчик пишет неудачный автоматический тестовый пример, который определяет желаемое улучшение или новую функцию, затем создает код для прохождения этого теста и наконец, реорганизует новый код, чтобы удалить дублирование и улучшить его дизайн.

TDD имеет тенденцию приводить к слабосвязанным, высокосвязным проектам, не обладающим большей функциональностью, чем необходимо для удовлетворения требований. Тест служит первым потребителем нового интерфейса и дает немедленную обратную связь о его ясности и удобстве использования. Разработчики поощряют себя писать легко тестируемые, простые модули без сохранения состояния; все признаки хорошего дизайна в соответствии с принципами SOLID дизайна.

Это одна из практик экстремального программирования. Часто говорят, что TDD - это не тестирование, а дизайн.

Привет мир:

def test_hello_world
  assert.are_equal "hello world", hello_world
end