Что я могу использовать для покрытия кода хорошего качества для C # /. NET? [закрыто]

415

Интересно, какие есть варианты покрытия кода .NET (или C #), особенно в сегменте с более низкой ценой?

Я не ищу рекомендации, но для сравнения продуктов на основе фактов. Я знаю следующее:

  • NCover
    • Кажется, очень популярен и выглядит довольно хорошо
    • Поддерживает покрытие выписок и покрытие филиалов
    • $ 480 за "NCover 3 Complete"
    • Старые бета-версии доступны бесплатно
  • Visual Studio (2008 Pro) | (Система Team 2005 (версии для разработчиков, тестирования или Team Suite))
    • Ну, это Microsoft, поэтому я ожидаю, что это будет работать должным образом
    • Полностью интегрирован в Visual Studio
    • Не менее $ 5469
  • PartCover - без дальнейшей разработки (перенесено в OpenCover)
    • Открытый исходный код
    • Поддерживает покрытие заявления
  • OpenCover - преемник PartCover
  • Тестовое покрытие SD
    • Работает с 32 и 64 бит, полная C # 4.0
    • Обрабатывает как маленькие, так и очень большие базы кода
    • 250 долларов США за однопользовательскую лицензию
  • JetBrains dotCover
    • 100 долларов США за персональную лицензию. Бесплатно для групп пользователей, проектов с открытым исходным кодом, студентов и преподавателей.
    • Поддерживает покрытие заявления
    • Поддержка Silverlight
  • NCrunch

    • $ 159 за личную лицензию
    • $ 289 за лицензию на коммерческое место * Бесплатно во время бета-тестирования, чтобы стать коммерческим, цены неизвестны, будущее неизвестно .
    • Индикаторы покрытия кода в Visual Studio
    • Непрерывное (почти в реальном времени) тестирование
    • Визуальное покрытие кода теста
    • Метрики производительности, параллельное выполнение многоядерных тестов
  • NDepend

    • 410 долларов США за лицензию разработчика
    • NDepend может импортировать данные покрытия из NCover, DotCover, Visual Studio 2017; 2015, 2013, 2012, 2010 и 2008 гг. Файлы покрытия кода.
    • График зависимостей
    • Матрица структуры зависимостей
    • Визуализация метрик кода
    • Проверка правил кода
Laurel
источник
Вопрос уже продублирован в softwarerecs.stackexchange.com/questions/123/… . Может ли оно быть перенесено и объединено?
Майкл Фрейдгейм
Я не видел здесь упоминавшегося AxoCover, он бесплатный и работает достаточно хорошо. IMO: https://marketplace.visualstudio.com/items?itemName=axodox1.AxoCover
Брэд Олбрайт,

Ответы:

72

Я использую версию NCover, которая поставляется с TestDriven.NET . Это позволит вам легко щелкнуть правой кнопкой мыши по вашей библиотеке классов модульных тестов и нажать Test With → Coverage , и откроется отчет.

David P
источник
5
Должен любить TestDriven.NET; как это происходит, я использую VSTS, но я склонен использовать NUnit (не MSTes), и использую TestDriven.NET для «Test With -> Team Coverage», который использует инструмент покрытия MSTest (включая раскрашивание) с моими тестами NUnit. Фантастический.
Марк Гравелл
Это то, что я также использовал - пока я не перевел свои приложения в 64-битные :-(
galaktor
Пока не работает с ядром .NET.
Мариуш Джамро
46

Альтернативой NCover может быть PartCover , это инструмент покрытия открытого исходного кода для .NET, очень похожий на NCover, он включает в себя консольное приложение, браузер покрытия GUI и XSL-преобразования для использования в CruiseControl.NET .

Это очень интересный продукт.

OpenCover заменил PartCover.

CMS
источник
12
PartCover по существу был заменен OpenCover ( github.com/sawilde/opencover ), так как PartCover стагнировал с поддержкой только для .NET 2.
Дэвид Кивини
18

JetBrains ( известной как ReSharper ) некоторое время работал над инструментом покрытия, называемым dotCover . Это показывает большое обещание.

Mike Two
источник
6
dotCover выпущен и доступен для покупки с сентября 2010 года: jetbrains.com/dotcover
Юра Гороховский
2
dotCover также является частью TeamCity, никаких дополнительных личных лицензий не требуется
Оскар Остегард
15

Я только что проверил NCrunch и должен сказать, что я очень впечатлен. Это инструмент непрерывного тестирования, который добавляет покрытие кода к вашему коду в Visual Studio практически в реальном времени. В то время, когда я пишу этот NCrunch бесплатно. Немного неясно, будет ли она бесплатной, будет ли она стоить денег или будет открытым исходным кодом в будущем .

Мартин Одхелиус
источник
4
Не бесплатно по состоянию на 20.03.2014
4

TestCocoon также довольно хорош. Он находится в активной разработке и имеет сообщество пользователей:

  • Открытый исходный код (GPL 3)
  • Поддерживает кроссплатформенность C / C ++ / C # (Linux, Windows и Mac)
  • CoverageScanner - Инструменты во время генерации
  • CoverageBrowser - Просмотр, анализ и управление результатом покрытия кода

Однако TestCocoon больше не разрабатывается, и его создатели сейчас выпускают коммерческое программное обеспечение для C / C ++.

Minh Cuong Tran
источник
1
TestCocoon был переименован в Squish Coco, когда основной разработчик (и TestCocoon) присоединился к froglogic . текущий выпуск Squish Coco также поддерживает C #.
Фрерих Раабе
3

Есть предварительные (бета) версии NCover, доступные бесплатно . Они отлично работают в большинстве случаев, особенно в сочетании с NCoverExplorer.

jalbert
источник
10
Кажется, больше не доступно ...
David d C e Freitas
2

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

David
источник
2
Версия на Sourceforge является основой для текущих версий NCover. Это больше не активно работает над / поддерживается, но все еще широко доступно. Они до версии 3.0 сейчас.
Валиен
1

См. Инструмент C # Test Coverage от моей компании Semantic Designs:

Он имеет очень низкие накладные расходы, обрабатывает огромные системы файлов, обладает интуитивно понятным графическим интерфейсом, обеспечивает покрытие конкретных файлов и генерирует отчет с разбивкой по уровням методов, классов и пакетов.

Ира Бакстер
источник
учитывая, что это коммерческий продукт, вы должны действительно указать стоимость: D
Джон Николас
Цена заметно отображается в сводке результатов в вопросе, который начал эту тему.
Ира Бакстер
1

C # Test Coverage Tool имеет очень низкие накладные расходы, обрабатывает огромные системы файлов, интуитивно понятный графический интерфейс, показывающий покрытие конкретных файлов, и генерирует отчет с разбивкой по уровням на уровне метода, класса и пакета.

Kanwar Singh
источник
0

Функции покрытия кода, а также программируемые API-интерфейсы поставляются с Visual Studio 2010. К сожалению, единственными двумя выпусками, которые включают в себя все возможности Code Coverage, являются Premium и Ultimate. Тем не менее, я верю, что API будут доступны в любой редакции, поэтому создание файлов покрытия кода и написание средства просмотра для информации покрытия, вероятно, будет возможно.

jrista
источник