Я считаю, что некоторые формы написания кода лучше подходят для TDD, чем другие.Особенно, красно-зеленые испытания рефактора.
В рефакторе «Красный / Зеленый» я начинаю со всех своих модульных тестов и провалю (красный).Затем я реализую свой код, пока все тесты не пройдут (зеленый).
Например, если у меня есть интерфейс, который должен быть реализован в 10-20 раз, я просто реализую интерфейс в классе, который устанавливает все методы для выброса NotImplementedException
.Затем создайте тест для каждого открытого метода.Оттуда я просто пишу код для исправления тестов.
Процессы не всегда так просты.Например, я пишу базовый парсер Excel.Я не знаком с Excel Interop API.Мне проще просто написать код.Затем, методом проб и ошибок, я обнаружил дизайн своего класса.
В этом случае я пишу ненужное программное обеспечение.Прототипирование это просто, чтобы я мог понять, каким должен быть мой дизайн.(Может быть, мне нужно передать имя файла здесь, может быть, этот конструктор ...).
В конечном счете, я хотел бы сохранить TDD.Я верю, что он сохраняет мой код минимальным и худым .
Работает ли TDD для создания прототипов?Другими словами, есть ли подход, которым я могу следовать, чтобы позволить TDD работать на меня, даже когда я не совсем уверен, куда движется мой дизайн?