Что я могу использовать для покрытия кода хорошего качества для C#/.NET?
Интересно, какие есть варианты покрытия кода.NET (или C#), особенно в сегменте с более низкой ценой?
Я не ищу рекомендации, но для сравнения продуктов на основе фактов. Я знаю следующее:
- NCover
- Кажется, очень популярен и выглядит довольно хорошо
- Поддерживает покрытие выписок и покрытие филиалов
- $480 за "NCover 3 Complete"
- Старые бета-версии доступны бесплатно
- Visual Studio (2008 Pro) | (Система Team 2005 (версии для разработчиков, тестирования или Team Suite))
- Ну, это Microsoft, поэтому я ожидаю, что это будет работать должным образом
- Полностью интегрирован в Visual Studio
- Не менее $5469
- PartCover - без дальнейшей разработки (перенесено в OpenCover)
- Открытый исходный код
- Поддерживает покрытие заявления
- OpenCover - преемник PartCover
- Открытый исходный код
- Поддерживает покрытие филиалов и выписок
- Поддержка 32 и 64 бит
- Поддержка Silverlight
- Фон
- Учебник по проекту кода от основного разработчика
- Пока не поддерживается.NET Core
- Тестовое покрытие SD
- Работает с 32 и 64 бит, полная версия C# 4.0
- Обрабатывает как маленькие, так и очень большие базы кода
- 250 долларов США за однопользовательскую лицензию
- JetBrains dotCover
- 100 долларов США за персональную лицензию. Бесплатно для групп пользователей, проектов с открытым исходным кодом, студентов и преподавателей.
- Поддерживает покрытие заявления
- Поддержка Silverlight
- $ 159 за личную лицензию
- $289 за лицензию на коммерческое место
* Бесплатно во время бета-тестирования, чтобы стать коммерческим, цены неизвестны, будущее неизвестно. - Индикаторы покрытия кода в Visual Studio
- Непрерывное (почти в реальном времени) тестирование
- Визуальное покрытие кода теста
- Метрики производительности, параллельное выполнение многоядерных тестов
- 410 долларов США за лицензию разработчика
- NDepend может импортировать данные покрытия из NCover, DotCover, Visual Studio 2017; 2015, 2013, 2012, 2010 и 2008 гг. Файлы покрытия кода.
- График зависимостей
- Матрица структуры зависимостей
- Визуализация метрик кода
- Проверка правил кода
12 ответов
Я использую версию NCover, которая поставляется с TestDriven.NET. Это позволит вам легко щелкнуть правой кнопкой мыши на библиотеке классов модульного теста и нажать "Test With -> Coverage"
, и это подтянет отчет.
Альтернативой NCover может быть PartCover, это инструмент покрытия открытого исходного кода для.NET, очень похожий на NCover, он включает в себя консольное приложение, браузер покрытия GUI и XSL-преобразования для использования в CC.Net.
Очень интересный продукт.
ОБНОВЛЕНИЕ: OpenCover заменил partcover.
JetBrains(известной как ReSharper) некоторое время работал над инструментом покрытия, который называется dotCover. Он демонстрирует большие перспективы.
Я только что проверил NCrunch и должен сказать, что я очень впечатлен. Это инструмент непрерывного тестирования, который добавляет покрытие кода к вашему коду в Visual Studio практически в реальном времени. В то время, когда я пишу этот NCrunch бесплатно. Немного неясно, будет ли она бесплатной, будет ли она стоить денег или будет открытым исходным кодом в будущем.
http://blog.ncrunch.net/image.axd?picture=2012%2f4%2fPerformanceCoverage.jpg
TestCocoon также довольно хорош: http://www.testcocoon.org/index.html с активным развитием и сообществом пользователей:
- Открытый исходный код (GPL3)
- Поддерживает кроссплатформенность C/C++/C# (Linux / Windows / Mac)
- CoverageScanner - Инструменты во время генерации
- CoverageBrowser - просмотр, анализ и управление результатом покрытия кода
РЕДАКТИРОВАТЬ:Test cocoon больше не разрабатывается, и его создатели в настоящее время производят коммерческое программное обеспечение для C / C++
Есть предварительные (бета) версии NCover, доступные бесплатно. Они отлично работают в большинстве случаев, особенно в сочетании с NCoverExplorer.
Не уверен, что разница с розничной NCover, но есть также проект NCover на sourceforge, который, конечно, с открытым исходным кодом и бесплатно.
TestMatrix - это модуль модульного тестирования и инструмент покрытия кода.
См. Инструмент C# Test Coverage от моей компании Semantic Designs:
http://www.semanticdesigns.com/Products/TestCoverage/CSharpTestCoverage.html
Очень низкие накладные расходы, обрабатывают огромные системы файлов, интуитивно понятный графический интерфейс, показывающий покрытие определенных файлов, и генерирует отчет с разбивкой по уровням методов, классов и пакетов.
http://www.semanticdesigns.com/Products/TestCoverage/CSharpTestCoverage.html
Очень низкие накладные расходы, обрабатывают огромные системы файлов, интуитивно понятный графический интерфейс, показывающий покрытие конкретных файлов, и генерирует отчет с разбивкой по уровням методов, классов и пакетов.
Мы выпустили EAP для dotCover ( http://www.jetbrains.com/dotcover) и скоро выпустим бета-версию.
Функции покрытия кода, а также программируемые API-интерфейсы поставляются с Visual Studio 2010. К сожалению, единственными двумя выпусками, которые включают в себя все возможности Code Coverage, являются Premium и Ultimate. Тем не менее, я верю, что API будут доступны в любой редакции, поэтому создание файлов покрытия кода и написание средства просмотра для информации покрытия, вероятно, будет возможно.