Почему отчет PartCover показывает 0%, если mstest успешно запущен и все тесты пройдены - PullRequest
5 голосов
/ 23 июня 2009

Я пытаюсь получить покрытие кода тестами mstest. Я использую PartCover 2.2.0.36424.

Проблема с реальными сборками, я получаю 0% покрытия кода (Примечание: все тесты пройдены).
На демонстрационном тесте для демонстрационного источника, который я создал, он работал нормально (отчет имеет смысл).

Я заметил, что в файле журнала:
для демонстрационных файлов после строки «Сборка AAAAAA загружена (MyTestesAssemblyName)» есть строка «Загружен класс NNNNNN (MyTestesAssemblyName.MyClassname)»;
и для реальных файлов нет второй строки (для класса) после строки для сборки.

Есть идеи, что отличается от наших сборок? (Примечание: они не подписаны)

10x.

Ответы [ 2 ]

7 голосов
/ 22 апреля 2010

У меня была такая же проблема. Я проверил fuslogvw.exe, потому что я знаю, что mstest.exe может запустить ваш тестовый код внутри vstesthost.exe. mstest.exe загружал мой код только для размышления, поэтому в отчете PartCover он показывал 0%.

Чтобы исправить это, я указал / msis.exe параметр / noisolation через partcover.exe. Однако следует отметить, что вам нужно указать все параметры, которые вы указываете для передачи в mstest.exe.

Вот фактическая командная строка, которую я знаю, работает:

partcover --target \path\to\MSTest.exe --include [*]* --target-args "/noisolation /testcontainer:myut.dll" --target-work-dir \path\to\workingdir --output C:\tmp\PartCoverResults.xml
1 голос
/ 02 июля 2009

Убедитесь, что вы добавили --include [*] * аргумент командной строки и проверьте, что процесс тестов скомпилирован для запуска на x86 (если используется ОС x64)

...