1

在我们的项目中,我们使用 NCover 来衡量我们的代码覆盖率。如果我们测量使用 Moles 的测试,则不会测量这些类的代码覆盖率 (0%)。这与使用 .NET 分析器的 Moles 和 NCover 有关。在互联网上进行了一些搜索后,我在命令提示符下尝试了以下操作,但没有任何结果:

set COR_PROFILER={3FB1CC1E-1C17-4A37-9C18-BF3DB8F10E46} moles.runner.exe /pi:Dispatch /r:"C:\Program Files\NCover\NCover.Console.exe" "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" /args:/testcontainer:..\Bin\TestLib.dll"

后面的数字COR_PROFILERNCover.Lib.x86.dll我之前在 regsvr 注册的 GUID。同样添加COR_ENABLE_PROFILING=1为 env.var 也无济于事。

有没有人让这个分析器链接工作或有 .NET 分析器链接的经验?

4

3 回答 3

1

我挖掘并找到了一种在至少一个使用 Moles 上下文的简单示例中使用 NCover 的方法。看看这个线程: http ://www.ncover.com/forum/show_topic?id=1191

于 2011-07-07T23:00:41.757 回答
0

路德,

不幸的是,Moles 和 NCover 目前不兼容。问题在于 NCover 设置了一些环境变量,Moles 随后在分析会话期间将其重置以供自己使用。这绝对是需要解决的问题。您可以尝试让 Microsoft 的人员考虑解决此问题的方法。

于 2011-05-05T15:16:25.703 回答
0

您是否尝试过 CLRMONITOR_EXTERNAL_PROFILERS 环境变量?

set CLRMONITOR_EXTERNAL_PROFILERS={3FB1CC1E-1C17-4A37-9C18-BF3DB8F10E46}

然后像往常一样运行 ncover 调用 mstest

我在 OpenCover 上成功使用了这种技术,请参阅No Coverage for Moles Tests on x64 Windows Server 2003

于 2011-08-20T01:40:54.860 回答