Глядя на сообщения типа this и другие, кажется, что правильный способ сделать TDD - написать тест для функции, получить просто эту функцию передать, а затем добавить еще один тест и рефакторинг по мере необходимости, пока он не пройдет, а затем повторите.
Мой вопрос: почему этот подход используется? Я полностью понимаю первую идею написания тестов, потому что она помогает вашему дизайну. Но почему бы мне не создать все тесты для определенной функции, а затем реализовать эту функцию сразу до тех пор, пока все тесты не пройдут?