Я не думаю, что наличие шаблона хорошо сочетается с использованием TDD. Я предполагаю, что вы читали книгу Кента Бека «Разработка через тестирование на примере». Если нет, пожалуйста, сделайте это.
Но общая идея проста. Когда мы начинаем урок, у нас будет общее представление об ответственности класса. Вот шаги, которые мы используем:
Имейте общее представление о классе
ответственность и использовать это
информация для названия класса.
Создать тестовый набор для этого класса.
Если вы начнете с конкретной информации о том, что такое блоки внутри класса, просто напишите эти заглушки внутри класса и напишите тестовые примеры для этих заглушек. Первоначально все это потерпит неудачу, и сигнатуры для большинства этих методов будут изменены. Вот и вся идея.
В большинстве случаев разработчик может не обладать такой степенью информации. В этом случае можно начать писать код в первом тесте. После прохождения теста перенесите логику в класс.
Итак, я стремлюсь к тому, чтобы весь смысл TDD состоял в том, чтобы сделать процесс разработки более органичным. Класс растет со знанием того, что он должен делать. Наличие формального шаблона или запись вещей, вероятно, не помогут.
Единственное, что я мог бы подумать, что вы могли бы сделать, это сидеть с вашими разработчиками перед каждой итерацией и придумывать довольно подробное представление о каждом из классов компонентов и его обязанностях (мы используем это обсуждение только для завершения открытых API ).
Если вы хотите узнать качество тестовых случаев, написанных вашим разработчиком, то вы можете провести специальный анализ кода, чтобы проверить, правильно ли разбиты классы на единицы, и все ли единицы протестированы.