dotCover не создает покрытие для всех сборок - PullRequest
2 голосов
/ 26 апреля 2019

Я настроил dotCover для запуска с использованием .xml

<?xml version="1.0" encoding="utf-8"?>
<CoverageParams>
  <TargetExecutable>
    c:\dotcover\xunit\xunit.console.exe
  </TargetExecutable>
  <TargetArguments>
    "INWK.Configuration.UnitTests.dll"
  </TargetArguments>
  <TargetWorkingDir>
    ..\bin\x64\Debug\
  </TargetWorkingDir>
  <TempDir>
    <!-- Directory for auxiliary files. Set to the system temp by default. -->
  </TempDir>
  <Output>
    dotCover-xunit.dcvr
  </Output>
  <InheritConsole>
    <!-- [True|False] Lets the application being analyzed to inherit dotCover console. True by default. -->
  </InheritConsole>
</CoverageParams>

Вы можете видеть (сборки Service, Shared, UnitTests, правильно включенные в отчет о покрытии теста (сборки Shared, Service и UnitTest)

enter image description here

Однако при запуске одного и того же на сервере сборки * служба и * Shared отсутствуют.

enter image description here

После замены Service.dll и Shared.dll и их «pdb» из локальной копии на сервер сборки и повторного запуска dotCover на сервере сборки он работает правильно.

Это приводит меня кПолагаю, что бегущий сервер сборки делает что-то отличное от msbuild.exe от VS при локальном запуске сборки.

Я нашел очень похожее описание проблемы здесь: https://stackoverflow.com/questions/25855131/dotcover-and-xunit-not-gathering-coverage-statistics-in-some-environments,, но не уверен, как это исправить на моем сервере сборки.конфигурация.

enter image description here

Вывод журнала трассировки (один привод) https://1drv.ms/t/s!AtxuuqGHIqXwgTVqQJ_Y_-rGE8W9?e=HrZgj7

1 Ответ

2 голосов
/ 29 апреля 2019

Нашел решение: в моей конфигурации dotcover xml мне пришлось добавить: -noshadow switch, вот так:

<CoverageParams>
  <TargetExecutable>
    c:\dotcover\xunit\xunit.console.exe
  </TargetExecutable>
  <TargetArguments>
    "INWK.OrderIndexing.UnitTests.dll" -noshadow
  </TargetArguments>
  <TargetWorkingDir>
    ..\bin\x64\Release\
  </TargetWorkingDir>
...

Теперь отображаются все сборки (кроме тех, которые я хочу отфильтровать)

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