Ты описываешь контракт, пишешь на него тест, потом пишешь уже реализацию. И фишка TDD в том, что ты сразу получаешь отклик от того что пишешь.
И этот цикл должен быть очень короткий, чтобы это всё получилось. + тесты должны выполняться БЫСТРО, чтобы их можно было постоянно запускать. Как ты будешь это делать на функциональных или интеграционных?