在我们的项目中,我们使用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_PROFILER后面的数字是我之前在regsvr中注册的NCover.Lib.x86.dll GUID。另外,将COR_ENABLE_PROFILING=1添加为env.var也没有什么帮助。
有没有人让这个分析器链接工作,或者有使用.NET分析器链接的经验?
发布于 2011-07-08 07:00:42
我仔细研究了一下,找到了一种在至少一个简单的例子中使用NCover的方法。看看这个帖子:http://www.ncover.com/forum/show_topic?id=1191
发布于 2011-05-05 23:16:26
鲁德
不幸的是,Moles和NCover目前是不兼容的。问题在于NCover设置了一些环境变量,Moles随后在分析会话期间重新设置了这些变量以供自己使用。这绝对是需要解决的问题。您可以尝试要求Microsoft的人员考虑解决此问题。
发布于 2011-08-20 09:40:55
您尝试过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
https://stackoverflow.com/questions/5885612
复制相似问题