5

我正在使用 partcover 为一堆 mstest 供电的单元测试生成代码覆盖率。

我使用命令行:

PartCover.exe --target "c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" --target-args "/testcontainer:c:\CrusieControlProjects\AcademyPro\AcademyTests\bin\Release\AcademyTests.dll" --include [AcademyPro*]*

这运行,所有测试通过,但我最终得到输出:

Results file:      C:\Program Files\Gubka Bob\PartCover .NET 2.3\TestResults\Administrator_PSLV22 2009-03-31 17_54_18.trx
Run Configuration: Default Run Configuration
Target PageFaultCount: 10565
Target PagefileUsage: 27631616
Target PeakPagefileUsage: 31297536
Target PeakWorkingSetSize: 31498240
Target QuotaNonPagedPoolUsage: 8180
Target QuotaPagedPoolUsage: 217124
Target QuotaPeakNonPagedPoolUsage: 13012
Target QuotaPeakPagedPoolUsage: 255524
Target WorkingSetSize: 30310400
request target shutdown
<PartCoverReport date="2009-03-31T18:00:36.7676250+01:00" />

当我使用 --output 命令运行时,xml 文件最终只有

<PartCoverReport date="2009-03-31T18:00:36.7676250+01:00" />

为什么会发生这种情况?

4

2 回答 2

4

为了解决这个问题,我最终降级了。

我使用的是 2.3 版(这是一个开发版本)并切换到 2.2 版。

现在测试运行良好,我得到了合理的覆盖率数据。

也许这会帮助某人。

于 2009-03-31T20:21:09.890 回答
4

我在 x64 上遇到了与 NUnit 类似的问题。问题是我使用的是 nunit-console.exe (AnyCPU)。切换到 nunit-console-x86.exe(显式 32 位)解决了这个问题。

我无法使用 MSTest 访问环境,但如果您引用的可执行文件是 AnyCPU,您可能会在系统上寻找它的明确 32 位版本。最坏的情况,您可以使用 CorFlags 创建一个。

于 2009-10-05T19:28:55.013 回答