Вот правила Роберта С. Мартина для TDD :
- Вам не разрешается писать какой-либо производственный код, если только он не прошел неудачный модульный тест.
- Вам не разрешено писать больше модульных тестов, чем достаточно для провала; и ошибки компиляции - это ошибки.
- Вам не разрешено писать больше производственного кода, чем достаточно для прохождения одного неудачного модульного теста.
Когда я пишу тест, который кажется стоящим, но проходит без изменения производственного кода:
- Значит ли это, что я сделал что-то не так?
- Должен ли я избегать написания таких тестов в будущем, если это поможет?
- Должен ли я оставить этот тест там или удалить его?
Примечание: я пытался задать этот вопрос здесь: Могу ли я начать с прохождения модульного теста? Но я не мог сформулировать вопрос достаточно хорошо до сих пор.