В чем разница между созданием приложения Outside In и Inside Out с использованием TDD?
Это книги, которые я прочитал о TDD и модульном тестировании:
Разработка через тестирование: на примере Разработка через
тестирование: Практическое руководство: Практическое руководство
Реальные решения для разработки высококачественных фреймворков PHP и разработка приложений на основе
тестов в Microsoft.
Тестовые шаблоны NET xUnit: рефакторинг тестового кода
Искусство модульного тестирования: с примерами в растущем
объектно-ориентированном программном обеспечении .Net , руководствуясь тестами ---> Это было действительно трудно понять, поскольку JAVA не является моим основным языком :)
Почти все они объяснили основы TDD и модульное тестирование в целом, но с небольшим упоминанием различных способов создания приложения.
Еще одна вещь, которую я заметил, заключается в том, что большинство этих книг (если не все) игнорируют этап проектирования при написании приложения. Они больше сосредоточены на написании тестовых примеров и позволяют дизайну появиться самостоятельно.
Однако в xUnit Test Patterns я натолкнулся на параграф, в котором обсуждается, как люди подходят к TDD. Есть 2 школы снаружи снаружи и внутри снаружи .
К сожалению, в книге больше ничего не говорится об этом. Я хотел бы знать, в чем главное отличие этих двух случаев.
Когда я должен использовать каждый из них?
Для новичка TDD, который легче понять?
В чем недостатки каждого метода?
Есть ли какие-либо материалы, которые конкретно обсуждают эту тему?