И рефакторинг породил библиотеку.Протестируйте? - PullRequest
3 голосов
/ 10 июня 2011

Я понимаю, что это субъективный вопрос, и, как таковой, он может быть закрыт, но я думаю, что его стоит задать.

Допустим, при создании приложения с использованием TDD и прохождении рефакторинга появляется библиотека. Если вы вытаскиваете код из своего основного приложения и помещаете его в отдельную сборку, вы тратите время на написание тестов, которые покрывают код, даже если ваше основное приложение уже тестирует его? (Это просто рефакторинг.)

Например, в приложении NerdDinner мы видим оболочки для FormsAuthentication и MembershipProvider. Эти объекты будут очень удобны для нескольких приложений, поэтому их можно извлечь из приложения NerdDinner, поместить в их собственную сборку и использовать повторно.

Если вы писали NerdDinner сегодня с нуля, и вы заметили, что у вас есть набор действительно полезных упаковщиков и сервисов, и вы переносите их в новую сборку, создаете ли вы новые тесты, которые полностью охватывают вашу новую сборку? - возможно, повторные тесты? Достаточно ли сказать, что если ваше основное приложение работает зеленым на всех своих тестах, ваша новая сборка эффективно покрыта?

Хотя мой пример с NerdDinner может быть слишком упрощенным, чтобы о нем действительно беспокоиться, я больше думаю о больших API или библиотеках. Итак, вы пишете тесты, чтобы заново охватить то, что вы тестировали ранее (может быть проблема, потому что вы, вероятно, начнете с прохождения всех ваших тестов), или вы просто пишете тесты по мере развития новой сборки?

1 Ответ

2 голосов
/ 10 июня 2011

В общем, да, я бы написал тесты для новой библиотеки;НО это очень зависит от временных ограничений.По крайней мере, я бы прошел и реорганизовал существующие модульные тесты, чтобы правильно сослаться на переработанные компоненты;одно это может решить вопрос.

...