Моя текущая позиция такова: если я тщательно тестирую свои приложения ASP.NET с помощью веб-тестов (в моем случае с помощью инструментов тестирования VS.NET'08 и WatiN, возможно) с охватом кода и широким спектром данных, я не нужно будет писать отдельные модульные тесты, потому что мой код будет протестирован в сочетании с пользовательским интерфейсом через все слои. Покрытие кода гарантирует, что я нажму каждый функциональный фрагмент кода (или покажу неиспользованный код), и я могу предоставить данные, которые будут охватывать все разумно ожидаемые условия.
Однако, если у вас другое мнение, я хотел бы знать:
-
Какое дополнительное преимущество дает модульное тестирование, которое оправдывает усилия по включению его в проект (имейте в виду, что я делаю веб-тесты в любом случае, поэтому во многих случаях модульные тесты будут охватывать код, который веб-тесты уже охватывают).
-
Можете ли вы подробно объяснить свои причины примерами concete? Слишком часто я вижу ответы типа "это не то, что это означает", или "это способствует повышению качества", что действительно не затрагивает практический вопрос, с которым мне приходится сталкиваться, а именно, как я могу оправдать - с ощутимыми результатами - тратить больше время тестирования?