Почему Visual Studio сообщает “Покрытие кода не включено для этого тестового запуска”, когда оно включено?

StackOverflow https://stackoverflow.com/questions/1412205

Вопрос

В Visual Studio я только что создал простой модульный тест для тестирования метода, который я написал.Я хотел проверить покрытие кода, но в окне покрытия кода всегда указано только то, что "Покрытие кода не включено для этого тестового запуска".Почему?Примечание:

  1. Я уже следовал инструкциям по эта страница, т. е.в тестовой конфигурации соответствующие сборки отмечены на странице Параметров покрытия кода.
  2. Я нажал "Запустить тест"., нет "Отладочный тест", который, как утверждают некоторые источники, вызывает это.
  3. Я попытался запустить тест с текущей конфигурацией сборки, установленной либо на "Debug", либо на "Release".;ни то, ни другое не работает.
  4. Я также следовал предложениям по эта страница (повторно выберите файл testrunconfig, выбрав Тест => Выбрать активную конфигурацию тестового запуска), но безрезультатно.

Тем не менее, я по-прежнему получаю сообщение "Покрытие кода не включено для этого тестового запуска" каждый раз, когда я запускаю соответствующий тест.Как мне включить покрытие кода раз и навсегда?

Это было полезно?

Решение

Раньше я боролся с MSTest, в лот областей (включая покрытие кода) - честно говоря, это * точно не делает все возможное, чтобы упростить жизнь - особенно с дополнительным testrunconfig и т.д., Дублирующим многое из того, что уже есть в csproj.

В любом случае;затем я обнаружил, что TestDriven.NET имеет это встроенное (при условии, что у вас есть правильная версия Visual Studio для включения MSTest и покрытия):

alt text
(источник: mutantdesign.co.uk)

При этом будет использоваться ваш существующий тестовый фреймворк (включая MSTest), но он пройдет все обычные этапы, чтобы включить тестовое покрытие, без необходимости возиться с конфигурацией.Он даже работает с раскрашиванием исходного кода (красный / синий непроверенный / протестированный и т.д.).Удобно.

*= сам инструмент и интеграция с графическим интерфейсом

Другие советы

Взгляните на эту страницу и посмотрите, поможет ли это: Советы по использованию покрытия кода в Visual Studio 2005

У него была проблема даже после настройки файла конфигурации, о котором вы упоминали, и проблема была связана со сборками, расположенными в GAC.

Если это для проекта c ++, убедитесь, что у вас включено профилирование. Откройте свойства вашего проекта - > Связывание - > Дополнительно. Найдите профиль и установите для него значение «Информация о профилировании» (/ PROFILE).

Обязательно запускайте свои тесты из окна «Просмотр теста» или «Список тестов» ... а не из окна результатов теста. Повторный запуск тестов из окна результатов теста не всегда учитывает ваши настройки конфигурации тестового прогона.

В моем случае, когда я столкнулся с этой проблемой, у меня не было «конфигурации тестового прогона». в меню Test-> Выбрать конфигурацию активного тестового запуска .
Я удалил / добавил файл .testrunconfig , и покрытие кода вернулось.
(VS2005 Team Edition)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top