Инструмент инкрементного покрытия кода .NET? - PullRequest
3 голосов
/ 12 февраля 2009

Я ищу инструмент (желательно бесплатный), который анализирует покрытие кода нашего решения на C #. Под этим я подразумеваю, что я не хочу знать, каково общее покрытие кода для всего кода или даже для пространства имен, а только новые строки кода или, возможно, строки кода, которые изменились со времени последней регистрации. (Мы используем Subversion для контроля версий.)

Я бы хотел назвать этот инструмент частью нашего автоматизированного процесса сборки и сообщать, когда кто-то регистрирует новый код с охватом кода менее X%.

Кто-нибудь знает инструмент, который выполняет это?

Спасибо.

Ответы [ 4 ]

3 голосов
/ 12 февраля 2009

NDepend может похвастаться следующим:

NDepend собирает данные покрытия кода из NCover ™ и Visual Studio Team System ™. Из этого В данных NDepend выводит некоторые метрики на методы, типы, пространства имен и сборки: PercentageCoverage, NbLinesOfCodeCovered, NbLinesOfCodeNotCovered и BranchCoverage (только из NCover).

Эти метрики могут использоваться совместно с другими функциями NDepend. Например, вы можете знать, какой код был добавлен или подвергнут рефакторингу с момента последнего выпуска, и не полностью покрыты тестами. Вы можете написать ограничение CQL, чтобы постоянно проверять, что набор занятия покрыты на 100%. Вы можете перечислить, какие сложные методы требуют больше тестов.

Кажется, я помню, что NDepend мог сравнивать с данными из более ранних сборок, поэтому похоже, что комбинация NDepend и NCover может сделать свое дело. Хотя сам не пробовал. .)

0 голосов
/ 29 августа 2010

В дополнение к ответу Ритмиса, я предоставляю этот пост в блоге, который подробно объясняет, как NDepend в сочетании с покрытием NCover или VSTS отвечает на вопрос: Вы уверены, что добавленный и измененный код покрыт тестами?

0 голосов
/ 13 февраля 2009

Я использую PartCover , чтобы проанализировать мои модульные тесты для хорошего эффекта. Для данных, которые вы ищете, вы можете использовать консольный инструмент и извлечь значения visit и len из отчета xml.

0 голосов
/ 12 февраля 2009

В зависимости от версии .Net вы можете использовать NCover бесплатно. Однако, если вы используете более новые версии .net, это не так дешево. Вам, вероятно, все равно придется написать свою собственную таблицу стилей, чтобы проанализировать результаты NCover, чтобы получить именно то, что вы просите.

Кроме этого, я не слышал и не видел другого инструмента для этого, если только вы не захотели написать его самостоятельно.

NCover в основном использует API .Net Profiling, поэтому теоретически вы можете сделать то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...