Лично для меня, довольно тертого разработчика, процесс внедрения TDD был непростым и местами тернистым.
Вкратце законспектирую, поскольку порог входа в тестирование действительно выше, чем просто сесть и писать код на RoR. Сделаю несколько, как написали бы пиндосы, highlights.

1. Написали падающий тест, прогнали rspec, убедились что тест не проходит (красный)
2. Написали кусок кода, прогнали rspec, убедились что тест проходит (зеленый)
3. Отрефакторили, убедились что все хорошо и тесты не падают.
4. Отправили код в продакшн
Вкратце законспектирую, поскольку порог входа в тестирование действительно выше, чем просто сесть и писать код на RoR. Сделаю несколько, как написали бы пиндосы, highlights.

Теоретически процесс TDD должен выглядеть так:
1. Написали падающий тест, прогнали rspec, убедились что тест не проходит (красный)
2. Написали кусок кода, прогнали rspec, убедились что тест проходит (зеленый)
3. Отрефакторили, убедились что все хорошо и тесты не падают.
4. Отправили код в продакшн