Почему отчет PartCover показывает 0%, если mstest успешно запущен и все тесты пройдены

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

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

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

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

10x.

2 ответа

У меня была такая же проблема. Я проверил 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

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

Другие вопросы по тегам