我正在使用partcover为一系列mstest驱动的单元测试生成codecoverage。
我使用命令行:
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" />
为什么会发生这种情况?
答案 0 :(得分:4)
为了解决这个问题,我最终降级了。
我使用的是2.3版(这是一个开发版)并转而使用2.2版。
现在测试运行良好,我得到了明智的覆盖数据。
也许这会对某人有所帮助。
答案 1 :(得分:4)
我在x64上遇到类似NUnit的问题。问题是我使用的是nunit-console.exe(AnyCPU)。切换到nunit-console-x86.exe(显式为32位)解决了这个问题。
我无法访问具有MSTest的环境,但如果您引用的可执行文件是AnyCPU,您可能会在系统上查找其明确的32位版本。最坏的情况是,您可以使用CorFlags创建一个。