Почему Visual Studio сообщает “Покрытие кода не включено для этого тестового запуска”, когда оно включено?
-
05-07-2019 - |
Вопрос
В Visual Studio я только что создал простой модульный тест для тестирования метода, который я написал.Я хотел проверить покрытие кода, но в окне покрытия кода всегда указано только то, что "Покрытие кода не включено для этого тестового запуска".Почему?Примечание:
- Я уже следовал инструкциям по эта страница, т. е.в тестовой конфигурации соответствующие сборки отмечены на странице Параметров покрытия кода.
- Я нажал "Запустить тест"., нет "Отладочный тест", который, как утверждают некоторые источники, вызывает это.
- Я попытался запустить тест с текущей конфигурацией сборки, установленной либо на "Debug", либо на "Release".;ни то, ни другое не работает.
- Я также следовал предложениям по эта страница (повторно выберите файл testrunconfig, выбрав Тест => Выбрать активную конфигурацию тестового запуска), но безрезультатно.
Тем не менее, я по-прежнему получаю сообщение "Покрытие кода не включено для этого тестового запуска" каждый раз, когда я запускаю соответствующий тест.Как мне включить покрытие кода раз и навсегда?
Решение
Раньше я боролся с MSTest, в лот областей (включая покрытие кода) - честно говоря, это * точно не делает все возможное, чтобы упростить жизнь - особенно с дополнительным testrunconfig и т.д., Дублирующим многое из того, что уже есть в csproj.
В любом случае;затем я обнаружил, что TestDriven.NET имеет это встроенное (при условии, что у вас есть правильная версия Visual Studio для включения MSTest и покрытия):
(источник: mutantdesign.co.uk)
При этом будет использоваться ваш существующий тестовый фреймворк (включая MSTest), но он пройдет все обычные этапы, чтобы включить тестовое покрытие, без необходимости возиться с конфигурацией.Он даже работает с раскрашиванием исходного кода (красный / синий непроверенный / протестированный и т.д.).Удобно.
*= сам инструмент и интеграция с графическим интерфейсом
Другие советы
Взгляните на эту страницу и посмотрите, поможет ли это: Советы по использованию покрытия кода в Visual Studio 2005
У него была проблема даже после настройки файла конфигурации, о котором вы упоминали, и проблема была связана со сборками, расположенными в GAC.
Если это для проекта c ++, убедитесь, что у вас включено профилирование. Откройте свойства вашего проекта - > Связывание - > Дополнительно. Найдите профиль и установите для него значение «Информация о профилировании» (/ PROFILE).
Обязательно запускайте свои тесты из окна «Просмотр теста» или «Список тестов» ... а не из окна результатов теста. Повторный запуск тестов из окна результатов теста не всегда учитывает ваши настройки конфигурации тестового прогона. Р>
В моем случае, когда я столкнулся с этой проблемой, у меня не было «конфигурации тестового прогона». в меню Test-> Выбрать конфигурацию активного тестового запуска
.
Я удалил / добавил файл .testrunconfig
, и покрытие кода вернулось.
(VS2005 Team Edition)