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

时间:2009-06-23 14:44:32

标签: mstest partcover

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

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

我注意到在日志文件中:
对于演示文件,在“装配AAAAAA(MyTestesAssemblyName)”行后,有“NNNNNN类加载(MyTestesAssemblyName.MyClassname)”行; 对于真实文件,在装配线之后没有第二行(用于类)。

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

10倍。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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