Что я могу использовать для качественного покрытия кода C#/.NET?[закрыто]
-
07-07-2019 - |
Вопрос
Интересно, какие варианты покрытия кода .NET (или конкретно C#) существуют, особенно в более дешевом сегменте?
Я не ищу рекомендаций, а сравнения продуктов, основанного на фактах.Я знаю следующее:
- NCover
- Кажется, очень популярен и выглядит довольно хорошо
- Поддерживает покрытие операторов и ветвей.
- 480 долларов за «NCover 3 Complete»
- Доступны более старые бета-версии бесплатно
- Visual Studio (2008 Pro) | (2005 Team System (Development, Test или Team Suite Edition))
- Ну, это Microsoft, поэтому я ожидаю, что он будет работать правильно.
- Полная интеграция с Visual Studio.
- Минимум 5469 долларов США
- Часть Крышка - дальнейшего развития нет (перенесено на OpenCover)
- Открытый источник
- Поддерживает покрытие операторов
- Открытая обложка - преемник PartCover
- Открытый источник
- Поддерживает покрытие ветвей и операторов
- Поддержка 32 и 64 бит
- Поддержка Silverlight
- Фон
- Учебное пособие по проекту Code Project от основного разработчика
- Нет Поддержка .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 годы.
- Граф зависимостей
- Матрица структуры зависимостей
- Визуализация метрик кода
- Проверка правил кода
Решение
Я использую версию NCover, поставляемую в комплекте. TestDriven.NET.Это позволит вам легко щелкнуть правой кнопкой мыши библиотеку классов модульных тестов и нажать Тестировать с → Покрытием, и он поднимет отчет.
Другие советы
Альтернативой NCover может быть ЧастьКрышка, представляет собой инструмент покрытия кода с открытым исходным кодом для .NET, очень похожий на NCover. Он включает в себя консольное приложение, браузер покрытия с графическим интерфейсом пользователя и преобразования XSL для использования в КруизКонтроль.NET.
Это очень интересный продукт.
Открытая обложка заменил PartCover.
Я только что проверил NCrunch и должен сказать, что я очень впечатлен.Это инструмент непрерывного тестирования, который добавит покрытие вашего кода в Visual Studio практически в реальном времени.На момент написания этой статьи NCrunch бесплатен.Немного неясно, будет ли он бесплатным, будет стоить денег или будет иметь открытый исходный код. будущее хотя.
ТестКокон тоже довольно приятно.Он находится в активной разработке и имеет сообщество пользователей:
- Открытый исходный код (GPL 3)
- Поддерживает кроссплатформенность C/C++/C# (Linux, Windows и Mac).
- CoverageScanner — инструментирование во время генерации
- CoverageBrowser — просмотр, анализ и управление результатами покрытия кода
Однако TestCocoon больше не разрабатывается, и его создатели сейчас выпускают коммерческое программное обеспечение для C/C++.
Существуют предварительные (бета-версии) версии NCover доступен бесплатно.В большинстве случаев они работают нормально, особенно в сочетании с NCoverExplorer.
Я не уверен, в чем разница с розничным NCover, но есть и NCover. проект на SourceForge это, конечно, открытый исходный код и бесплатный.
См. Тестовое покрытие C# инструмент от моей компании Semantic Designs:
Он имеет очень низкие накладные расходы, обрабатывает огромные системы файлов, имеет интуитивно понятный графический интерфейс, обеспечивает покрытие конкретных файлов и генерирует отчет с разбивкой покрытия на уровне метода, класса и пакета.
ТестМатрица — это средство запуска модульных тестов и инструмент покрытия кода.
Инструмент покрытия тестов C# имеет очень низкие накладные расходы, обрабатывает огромные системы файлов, имеет интуитивно понятный графический интерфейс, показывающий покрытие конкретных файлов, и генерирует отчет с разбивкой покрытия на уровнях метода, класса и пакета.
Функции покрытия кода, а также программируемые API входят в состав Visual Studio 2010.К сожалению, единственные две версии, которые включают в себя полные возможности Code Coverage, — это Premium и Ultimate.Тем не менее, я верю, что API будут доступны в любой редакции, поэтому создание файлов покрытия кода и написание средства просмотра информации о покрытии, скорее всего, будет возможным.
Мы выпустили EAP для dotCover и скоро выпустит бета-версию.