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

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

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

  • NCover
    • Кажется, очень популярен и выглядит довольно хорошо
    • Поддерживает покрытие выписок и покрытие веток
    • $ 480 за "NCover 3 Complete"
    • Старые бета-версии доступны бесплатно
  • Visual Studio (2008 Pro) | (Система Team 2005 (версии для разработчиков, тестирования или Team Suite))
    • Ну, это Microsoft, поэтому я ожидаю, что это будет работать должным образом
    • Полностью интегрирован в Visual Studio
    • Не менее $ 5469
  • PartCover - без дальнейшей разработки (перенесено в OpenCover)
    • Открытый исходный код
    • Поддерживает покрытие заявления
  • OpenCover - преемник PartCover
  • Тестовое покрытие SD
    • Работает с 32 и 64 бит, полная версия С# 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 гг. Файлы покрытия кода.
    • График зависимостей
    • Матрица структуры зависимостей
    • Визуализация метрик кода
    • Проверка правил кода

Ответ 1

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

Ответ 2

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

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

OpenCover заменил PartCover.

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

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

Ответ 8

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

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

Ответ 10

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

Ответ 11

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