1

我将 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
Poole。版权所有 (C) 2002-2004 James W. Newkirk、Michael C. Two、
Alexei A. Vorontsov。版权所有 (C) 2000-2002 菲利普·克雷格。
保留所有权利。

运行时环境 - 操作系统版本: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

提交... 已访问 175 个课程中的 59 个 (33.7142857142857) 已访问
方法 4131 个中的 268 个 (6.48753328491891) 已访问点 71763 中的 15137 个
(21.0930423755975) 已访问分支 8025 个中的 196 个 (2.4423676012)

==== 替代结果(包括所有方法,包括那些没有
相应来源的方法) ==== 替代访问类 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

这个结果如下。

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

检测...启动
NUnit-Console 版本 2.6.0.12051
CLR 版本:4.0.30319.269 (Net 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 of 45 (0) 访问过的分支机构 0 of 2 (0)

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

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

我试图改变痣的参数,例如'/args:"/domain=Multiple"'、-oldType 等,但它从来没有用过。

有人注意到我应该怎么做吗?OpenCover 可以在 Nunit 中使用痣吗?

4

1 回答 1

1

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

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

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

于 2013-04-23T07:59:57.420 回答