Visual studio имеет покрытие кода для модульных тестов?
Я использую сообщество VS2015, и я знаю, что у него есть возможность создавать модульные тесты для проверки кода, но я не вижу возможности тестировать покрытие кода, поэтому я хотел бы знать, есть ли у VS этот параметр или если мне нужно использовать сторонний плагин.
Если мне нужно использовать стороннее решение, что было бы хорошим вариантом?
Ответы
Ответ 1
Только Visual Studio 2015 Enterprise имеет встроенное покрытие кода. Подробнее см. матрицу свойств.
Вы можете использовать расширение OpenCover.UI для проверки покрытия кода внутри Visual Studio. Он поддерживает MSTest, nUnit и xUnit.
Новая версия может быть загружена из здесь (Примечания к выпуску)
Ответ 2
Toni
Ответ очень полезен, но я подумал о быстром запуске для всех новичков, чтобы проверить оценку покрытия (например, я).
Как уже упоминалось, Visual Studio Professional и Community Editions не имеют встроенной поддержки тестирования. Однако его можно получить довольно легко. Я напишу пошаговую конфигурацию для использования с тестами NUnit в Visual Studion 2015 Professional.
-
Установите компонент OpenCover NUGet с помощью интерфейса NuGet
-
Получить расширение OpenCoverUI. Это можно установить непосредственно из Visual Studio с помощью Tools → Extensions and Updates
-
Настройте OpenCoverUI для использования соответствующих исполняемых файлов, обратившись к Tools → Options → OpenCover.UI Options → General
Путь NUnit: должен указывать на файл `nunit-console.exe. Это можно найти только в версии NUnit 2.xx, которую можно загрузить с здесь.
Путь OpenCover: это должно указывать на установленный пакет, обычно <solution path>\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe
-
Установить пакет ReportGenerator NUGet
-
Откройте OpenCover Test Explorer
из меню OpenCover. Попробуйте открыть тесты оттуда. Если это не удается, проверьте выходные окна для более подробной информации.
-
Проверьте результаты OpenCover (в меню OpenCover) для получения более подробной информации. Он будет выводить данные, такие как Cover Coverage, в виде дерева. Вы также можете выделить код, который является или не покрыт (маленький значок в левом верхнем углу).
ПРИМЕЧАНИЕ., как уже упоминалось, OpenCoverUI не поддерживает последнюю версию NUnit (3.xx). Однако, если в тестах не используется ничего конкретного для этой версии, она будет работать без проблем, независимо от того, установлена ли версия NUnit 3.xx.
Это относится к быстрому запуску. Как уже упоминалось в комментариях, для более расширенной настройки и автоматизации проверьте эту статью.
Ответ 3
Если вы используете Visual Studio 2017 и сталкиваетесь с этим вопросом, вы можете рассмотреть AxoCover. Это бесплатное расширение VS, которое интегрирует OpenCover, но поддерживает VS2017 (оно также находится в активной разработке +1).
Страница расширения VS
https://github.com/axodox/AxoTools