Боб, я считаю, что TDD лучше всего работает для меня, если я планирую все заранее.Это включает в себя выяснение того, какие классы, методы и конструкторы требуются.
Таким образом, ВСЕ мои тесты работают, но они терпят неудачу из коробки.Однако, когда я завершаю код, эти тесты начинают работать.Это немного сложно, но это заставляет вас действительно задумываться о своих тестах и убедиться, что они действительно охватывают все события, которые вы хотите проверить.Частью этого упражнения является определение того, какие данные будут доступны в какое время и какой конструктор должен быть вызван в какое время.
Веселитесь с TDD, здесь нет законов, есть только рекомендации, и, вероятно, лучше всего делать то, что имеет смысл в вашей ситуации.Пока TDD помогает вам лучше понять свои цели и понять, как будет работать приложение, я думаю, вы на правильном пути.