当mstest成功运行且所有测试通过时,为什么PartCover报告显示0%

5 mstest partcover

我正在尝试使用mstest测试获得代码覆盖率.我正在使用PartCover 2.2.0.36424.

问题在于真正的程序集,我得到0%的代码覆盖率(注意:所有测试都通过).
在我创建的演示源的演示测试中,它工作正常(报告很有意义).

我注意到在日志文件中:
对于演示文件,在"程序集AAAAAA加载(MyTestesAssemblyName)"行之后,有一行"Class NNNNNN loaded(MyTestesAssemblyName.MyClassname)";
并且对于真实文件,在装配线之后没有第二行(用于类).

有任何想法我们的装配有什么不同吗?(注意:它们没有签名)

10X.

小智 7

我遇到了同样的问题.我检查了fuslogvw.exe,因为我知道mstest.exe可以在vstesthost.exe中运行你的测试代码.mstest.exe只加载了我的反射代码,这就是它在PartCover报告中显示为0%的原因.

为了解决这个问题,我通过partcover.exe将/ noisolation参数指定给mstest.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
Run Code Online (Sandbox Code Playgroud)


Eug*_*nko 1

检查您是否已添加 --include [*]* 命令行参数并检查测试进程是否已编译为在 x86 上运行(如果使用 x64 操作系统)