NUnit3.testadapter включен в покрытие кода - PullRequest
0 голосов
/ 03 октября 2018

Сегодня я столкнулся с проблемой в DevOps Azure.Я пытаюсь настроить конвейер выполнения теста с включенным покрытием кода, и все работает нормально, за исключением одной конкретной вещи, связанной с NUnit.Когда я запускаю Code Coverage на своем локальном экземпляре Visual Studio, все идеально, и результаты включают только 2 целевых dll-файла (продукт + тест).Но при работе в конвейере сборки я получаю nunit.framework.dll и nunit3.testadapter.dll в покрытии, что приводит к неверному окончательному проценту покрытия.

azuredevopscodecoverage

Кто-нибудь сталкивался с такой же проблемой?

Оцените все действительные баллы.

1 Ответ

0 голосов
/ 08 октября 2018

То, что вы видите, является правильным и является ошибкой в ​​задаче VSTest в Devure Azure.Когда VSTest запускается в Visual Studio, он запускается в соответствии с тем, что определено в файле решения, но когда он запускается в облачных или серверных приложениях Azure, он запускается в зависимости от того, какие сборки существуют в расположении.Если у этих сборок есть файлы pdb, они будут включены по умолчанию.
Текущий обходной путь - добавить файл runsettings и добавить туда две dunit-библиотеки в раздел ModuleExclude.

<ModulePaths>
  <Exclude>
   <ModulePath>NUnit.Framework.dll</ModulePath>
   <ModulePath>NUnit3.TestAdapter.dll</ModulePath>
  </Exclude>
</ModulePaths>

Информация о том, каксделать это можно в следующих двух документах:
Настройка модульных тестов с помощью файла .runsettings

Настройка анализа покрытия кода

Вы также можете добавить и использовать шаблон элемента для настроек выполнения , чтобы получить правильные блоки.

Задача VSTest имеет отдельное поле для объявления файла runsettings для использования.

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