Покрытие OpenCover для теста NUnit
Я пытаюсь запустить покрытие кода, используя Opencover для тестовых случаев NUnit. Я получаю результаты, как и ожидалось, но проблема в том, что при выполнении opencover он снова запускает тесты. Мы не хотим, чтобы это произошло, поскольку мы проводим тесты отдельно. Ниже мой код.
Выполнение юнит-теста
<Exec Command="$(NUnit) @(AssembliesToTest->'"%(FullPath)"', ' ') /xml:"@(TestsDirectory)Unit-nunit-results.xml""
ContinueOnError="false" />
OpenCover Выполнение
<Exec Command="$(OpenCoverExecutable) -register:user -target:$(NUnit) -targetargs:"/noshadow %(CodeCoverageAssemblies.fullpath) /domain:single" -mergeoutput -output:"$(OutputPath)\OpenCover-results.xml""
ContinueOnError="false" />
Есть ли способ получить результаты тестирования и кодового покрытия, не выполняя тесты дважды.
Заранее спасибо,
Динеш.
1 ответ
Извините, ответ - нет - OpenCover обрабатывает ваш код во время его выполнения, чтобы определить код, который выполняется во время теста.
Почему бы вам не использовать OpenCover для однократного запуска тестов? Если вам нужно взглянуть на код ошибки вашего бегуна, вы можете использовать -returntargetcode[:<opencoverreturncodeoffset>]
таким образом, что код выхода целевого процесса возвращается в качестве кода выхода OpenCover, а любые связанные с OpenCover коды выхода перемещаются в новый диапазон. например
-returntargetcode:1000