Я делаю TDD, и я был довольно свободен в организации моих модульных тестов. Я имею тенденцию начинать с файла, представляющего следующую историю или фрагмент функциональности, и писать все модульные тесты, чтобы сделать эту работу.
Конечно, если я представляю новый класс, я обычно делаю отдельный модульный модуль или файл для этого класса, но сам я не организовываю тесты в какую-либо структуру более высокого уровня. В результате я быстро напишу код, и я считаю, что моя фактическая программа достаточно хорошо структурирована, но сами тесты модулей "грязные". В частности, их структура имеет тенденцию повторять филогенетию процесса разработки. Иногда я вижу себя торговой лень в коде для лень в тестах.
Насколько велика проблема? Кто здесь постоянно реорганизует и реорганизует свои модульные тесты, чтобы попытаться улучшить их общую структуру? Какие-нибудь советы для этого? Какова должна быть общая структура тестов.
(Обратите внимание, что я не столько задаю вопрос "сколько утверждений на функцию" здесь: Сколько модульных тестов нужно писать для каждой функции/метода? Я говорю о более широкой картине.)