Инструменты покрытия кода для VS 2008

Мы получаем наши ноги с модульным тестированием в VS 2008 Professional Edition и попали в то, что может быть довольно большой проблемой: похоже, не существует способа определить покрытие кода в этом конкретном выпуске VS. Похоже, что это нечто доступное только в VS Team System Development Edition.

Другими словами, VS 2008 Professional Edition позволяет вам писать все требуемые юнит-тесты, но не предоставляет никакого способа проверить, какой код не имеет связанного с ним unit test (или того, сколько кода покрывается испытаниями). Правильно ли это наблюдение?

Если да, может кто-то порекомендовать сторонний инструмент для определения покрытия кода? Я попробовал TestMatrix, но был полностью не впечатлен (экран настроек скрывал кнопки "ОК" и "Отмена" в 120 DPI, запуск моего текущего набора тестов вызвал полную блокировку VS).

Вопрос: вместо инструмента стороннего покрытия, а вместо того, чтобы перейти на VS Team System Development Edition, было бы лучше принять NUnit и найти бесплатный/недорогой инструмент для покрытия кода? Мы пока не разбираемся в модульном тестировании, и мы хотим выбрать метод тестирования, который не будет препятствовать нашим усилиям по линии... и не разбивать банк.

Ответ 2

Я использую PartCover, чтобы получить основную информацию о охвате кода из моих тестов NUnit. Хотя интерфейс не является самым тонким опытом под солнцем, он выполняет свою работу и является открытым исходным кодом.

Ответ 3

Я использовал NCover с NUnit под VS2008 в течение нескольких дней. Я обнаружил, что так легко найти и заполнить пробелы в своем тестовом покрытии, я громко хихикнул, когда NCover всплывает.

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