Открытое покрытие не генерирует вывод на детали покрытия - PullRequest
7 голосов
/ 24 июля 2011

пытается запустить открытую обложку, как показано ниже

opencover.console.exe -target: "C: \ Users \ rkapiset \ Downloads \ xunit-1.8 \ xunit.console.clr4.x86.exe "-targetargs:" "" E: \ Office \ CRM \ dotnet \ 1 - UI \ EYC.CRM.UI.Tests \ bin \ Debug \ EYC.CRM.UI.Tests.dll "" "-фильтр: + [EYC] * -output: cover.xml

ниже приведен результат

61 всего, 3 не выполнено, 0 пропущено, заняло 1,674 секунды
Посещенных классов 0 из0 (NaN)
Посещенные методы 0 из 0 (NaN)
Посещенные точки 0 из 0 (NaN)
Непосещенные классы
Непосещенные методы

Любые подсказки, где я 'я иду не так?заранее спасибо.

Ответы [ 3 ]

7 голосов
/ 25 сентября 2015

Есть несколько ключей, чтобы заставить это работать.

  1. найти открытую обложку
  2. сказать ему использовать xunit.console.exe
  3. дать емуАргументы для xunit.console.exe, использующие targetargs
  4. , дают xunit отладочную версию как тестовой dll, так и dll приложения
  5. , инструктируют xunit НЕ использовать shadowcopy (поэтому все файлы отладки PDB доступны вего рабочий каталог)
  6. комментировать кавычки в путях в targetargs с обратной косой чертой
  7. отфильтровывать классы в проекте ".Tests" из покрытия
  8. использовать -register, чтобы сделать что-то волшебное
  9. запуск от имени администратора (не проблема, если на вашем компьютере отключено UAC)

Пример:

"C:\OpenCover.4.6.166\tools\OpenCover.Console.exe" -output:"C:\MyProject\coverage.xml" "-target:C:\MyProject\packages\xunit.runner.console.2.0.0\tools\xunit.console.exe" -targetargs:"\"C:\MyProject\Project.Tests\bin\Debug\Project.Tests.dll\" \"C:\MyProject\Project\bin\Debug\Project.exe\" -noshadow" -filter:"+[*]Project.* -[*.Tests]*" -register

Цитировать: http://derekwilson.net/derekblog/post/2012/05/29/Using-OpenCover-and-xUnit.aspx

4 голосов
/ 24 июля 2011

Вы зарегистрировали профилировщик?

попробуйте переключатель -register или, если под UAC, -register: пользователь

Все переключатели описаны в OpenCover Wiki

В качестве альтернативы вы можете использовать regsvr32 на каждом из профилировщиков OpenCover.Profiler.dll в папках x86 и x64 в установленных программных файлах папка

0 голосов
/ 22 сентября 2012

Попробуйте добавить -register: user в ваш код.Если это не удается, значит, вам не хватает распространяемого пакета Microsoft Visual C ++ 2010 (x86). .Это объясняется здесь

...