VS2019 Enterprise Code Coverage показывает только DLL модульного тестирования - PullRequest
0 голосов
/ 17 марта 2020

Я создал бесплатное sh решение с. Net Core exe project. Я также добавил проект MSTest v2. Я выполнил анализ покрытия кода для всех тестов, но получил только данные покрытия для тестового проекта, а не для основного. Net Основной проект.

Затем я добавил. Net Core dll до сих пор нет успеха. Затем я добавил. Net Framework exe и. Net Framework dll. Я перестроил решение и запустил покрытие кода, но все же в результатах появляется только проект MSTest V2. Затем я добавил проект Nunit. На этот раз результат показывает MSTest v2 и проект Nunit, но ни один из тестируемых проектов.

Я также попытался добавить [ExcludeFromCodeCoverage]. Я попытался включить Autodetect runsettings file. Ничего не помогло.

Я также попытался добавить этот код в основной проект:

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
  <DebugType>Full</DebugType>
</PropertyGroup>

Нет эффекта.

Я прочитал, что если я добавлю файл пользовательской настройки запуска, все может начать работать. Тем не менее, я думаю, что это всего лишь обходной путь, поскольку, когда я попросил запустить Code Coverage в Visual Studio моего коллеги, в результате появятся все проекты.

Поиск решений.

1 Ответ

0 голосов
/ 24 марта 2020

Хорошо, решение простое и глупое, но все же может затратить массу времени на неопытного тестера. Проблема в том, что недостаточно просто добавить тестовый проект и добавить ссылку на него в основной проект. И даже наличие тестового класса, который ничего не тестирует в основном проекте, не работает. Реальное решение - просто добавить класс, который тестирует хотя бы один метод в основном проекте. Таким образом, покрытие кода будет активировано и покажет результаты, показывая, что у вас есть один покрытый метод. Таким образом, кажется невозможным иметь основной проект в результатах покрытия, заявив, что 0% проекта покрыто. Вам всегда нужно иметь как минимум минимальное покрытие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...