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

357

Интересно, какие варианты существуют для .net(или С# в частности) Code Coverage, особенно в сегменте Lower Pricing? Я не ищу рекомендаций, а для сравнения продуктов, основанных на фактах. Я знаю следующее:

  • NCover
    • Кажется очень популярным и выглядит неплохо.
    • Поддержка охвата заявлений и охвата веток
    • $480 для "NCover 3 Complete"
    • Старые бета-версии доступны бесплатно
  • Visual Studio (2008 Pro) | (Командная система 2005 года (разработка, тестирование или выпуск Team Suite))
    • Ну, это Microsoft, поэтому я ожидаю, что он будет работать нормально
    • Полностью интегрирован в Visual Studio
    • Не менее $5 469
  • PartCover
    • Открытый исходный код
    • Поддержка содержимого отчета
  • 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 годы.
    • График зависимости
    • Матрица структуры зависимостей
    • Визуализация метрик кода
    • Проверка правил кода
  • 0
    Рассмотрите возможность перехода на softwarerecs.stackexchange.com и оставайтесь открытым.
  • 0
    Вопрос уже продублирован в softwarerecs.stackexchange.com/questions/123/… . Может ли оно быть перенесено и объединено?
Показать ещё 1 комментарий
Теги:
code-coverage

12 ответов

68
Лучший ответ

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

  • 4
    Должен любить TestDriven.NET; как это происходит, я использую VSTS, но я склонен использовать NUnit (не MSTes) и использую TestDriven.NET для «Test With -> Team Coverage», который использует инструмент покрытия MSTest (включая раскрашивание) с моими тестами NUnit. Фантастика.
  • 0
    Это то, что я также использовал - пока я не переместил свои приложения в 64-битные :-(
Показать ещё 1 комментарий
45

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

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

UPDATE: OpenCover заменил partcover.

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

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

  • 5
    dotCover выпущен и доступен для покупки с сентября 2010 года: jetbrains.com/dotcover
  • 2
    dotCover также является частью TeamCity, никаких дополнительных личных лицензий не требуется
14

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

http://blog.ncrunch.net/image.axd?picture=2012%2f4%2fPerformanceCoverage.jpg

  • 4
    Не бесплатно по состоянию на 20.03.2014
4

TestCocoon также довольно приятен: http://www.testcocoon.org/index.html с активным сообществом разработчиков и пользователей:

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

EDIT: тестовый кокон уже не разработан, и его создатели теперь производят коммерческое программное обеспечение для C/С++

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

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

  • 10
    Кажется, больше не доступно ...
2

Не уверен, какая разница с розничным NCover, но есть и проект NOVO на sourceforge, который, конечно, является открытым исходным кодом и бесплатным.

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

http://www.semanticdesigns.com/Products/TestCoverage/CSharpTestCoverage.html

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

1

TestMatrix - это инструмент unit test runner и Code Coverage.

0

Мы выпустим EAP to dotCover (http://www.jetbrains.com/dotcover) и вскоре выпустит бета-версию.

0

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

0

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

http://www.semanticdesigns.com/Products/TestCoverage/CSharpTestCoverage.html

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

  • 0
    Привет! Можно ли связаться с вами по MSN / ICQ / XMPP / ... или просто по электронной почте? Я хотел бы поговорить с вами о том, как вы реализовали компиляцию AST обратно в исходный код.
  • 0
    @nikic: Смотрите мою биографию для адреса электронной почты.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню