OpenCover可以通过Microsoft.Moles.Runner和Nunit获得代码覆盖吗?

时间:2012-07-10 06:22:45

标签: nunit moles opencover

我正在使用OpenCover和Visual Studio2010专业版。 它在命令行上与NUnit配合良好。

OpenCover.Console.exe -register:user -target:"C:\bin\NUnit 2.6\bin\nunit-console.exe" -targetargs:"C:\App\Test\ApplicationTest\bin\Debug\ApplicationTest.dll"  -targetdir:"C:\App\bin\Debug" -output:html\result.xml

结果如下。

  

NUnit-Console版本2.6.0.12051版权所有(C)2002-20011 Charlie
  普尔。版权所有(C)2002-2004 James W. Newkirk,Michael C. Two,
  阿列克谢A.沃龙佐夫。版权所有(C)2000-2002 Philip Craig。所有权利
  保留。

     

运行时环境 - 操作系统版本:Microsoft Windows NT 6.1.7601
  Service Pack 1 CLR版本:4.0.30319.269(Net 4.0)

     

ProcessModel:默认DomainUsage:单次执行运行时:
  net-4.0 ..测试运行:2,错误:0,失败:0,不确定:0,
  时间:42.14秒未运行:0,无效:0,忽略:0,跳过:0

     

提交......访问类别59 of 175(33.7142857142857)访问了
  方法2631 of 4131(6.48753328491891)71763的访问点15137
  (21.0930423755975)访问分行196 of 8025(2.44236760124611)

     

====替代结果(包括所有方法,包括那些没有
  相应的来源)====替代访问类别59 of 207
  (28.5024154589372)替代访问方法284 of 4371
  (6.49736902310684)

但它不适用于Microsoft.Moles。

OpenCover.Console.exe -register:user -target:"C:\Program Files\Microsoft Moles\bin\moles.runner.x86.exe" -targetargs:"""C:\App\Test\ApplicationTest\bin\Debug\ApplicationTest.dll""  /r:""C:\bin\NUnit 2.6\bin\nunit-console.exe""" -targetdir:"C:\App\bin\Debug" -output:html\result.xml

结果如下。

  

Microsoft Moles Runner v0.94.51023.0 -
  http://research.microsoft.com/moles - 。 NET v4.0.30319版权所有(c)
  微软公司2007-2010。保留所有权利。

     

插装...开始
  NUnit-Console版本2.6.0.12051
    CLR版本:4.0.30319.269(净4.0)

     

ProcessModel:默认DomainUsage:单次执行运行时:
  net-4.0 ..测试运行:2,错误:0,失败:0,不确定:0,
  时间:28.004秒未运行:0,无效:0,忽略:0,跳过:0

     

提交...访问类别0 of 2(0)访问方法0 of 14(0)
  访问点0(共45)(0)访问分支0 of 2(0)

     

====替代结果(包括所有方法,包括那些没有相应的方法   来源)====替代访问类0(2)(0)
  替代访问方法0 of 16(0)

测试结果都是正确的,但没有覆盖范围。

我试图更改鼹鼠的参数,例如'/ args:“/ domain = Multiple”', - oldType等,但它永远不会有效。

有没有人注意到我应该做什么? OpenCover可以和Nunit一起使用moles吗?

1 个答案:

答案 0 :(得分:1)

我自己解决了这个问题。 首先,将以下代码添加到批处理文件中或将其设置为命令行命令。

  

设置CLRMONITOR_EXTERNAL_PROFILERS = {1542C21D-80C3-45E6-A56C-A9C1E4BEB7B8}

此链接可能会有所帮助。 http://s135.codeinspot.com/q/2342744