2010-10-14 86 views
1

我跑NCoverExploler,配置它,所以命令行看起来是这样NCover 1.5.8不会产生coverate报告

"D:\Development\Projects\t.net\lib\NCover\NCover.Console.exe" //reg //w "D:\Development\Projects\t.net\build_output\t.net" //v "D:\Development\Projects\t.net\lib\NUnit\nunit-console.exe" t.Core.Tests.dll /framework=4.0 

输出coverage.xml显示为空。同时,如果我通过Visual Studio(由TestDriven.Net)运行Coverate报告,它会完美地生成。

我比较了两种情况下的coverage.log文件。如果我通过NCoverExporer运行:

事件:建立了日志链接。 事件:建立通信链接。 消息:准备好命令输入。 事件:详细记录禁用 事件:启用日志 事件:AutoExclusion启用 消息:监视组件:(所有加载的程序集) 消息:不包括类型和具有这些属性的方法:CoverageExcludeAttribute; 消息:收到司机准备好的事件。 消息:V2.0.50727

如果TestDriven.net

事件:登录建立链接。 事件:建立通信链接。 消息:准备好命令输入。 事件:详细记录禁用 事件:启用记录 事件:自动排除启用 消息:监视程序集:Microsoft.Web.Mvc; Moq; T.Core; T.Core.Tests; Web; 消息:使用这些属性排除类型和方法:CoverageExcludeAttribute; System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute; 消息:收到司机准备好的事件。 MESSAGE:v4.0.30319

请参阅监控装配和MESSAGE的区别:v4.0.30319。在TD.net的情况下,它正确地支持.NET框架。

任何线索,如何使NCover在TD.net中发挥作用?它在哪里配置?

+0

任何人遇到类似的东西? – 2010-10-15 11:18:43

+0

我有完全相同的问题。你有没有想过深究这一点? – 2011-02-07 11:55:50

+0

@Sam ..不,我把它当作未解决.. – 2011-02-10 11:41:19

回答

2

试试我在这里找到的答案:Force NCover 1.5.8 to use v4 framework like testdriven.net does?

我还用.net 4使用该问题的其他答案运行所有程序,但不知道这是否重要。我会调查并更新答案。

我已经在其他线程中更新了我的答案,并使用了我可以用来在我的(win 7 x64)机器上运行并运行的解决方案。希望它会帮助你,我现在在我的coverage.log中获得MESSAGE: v4.0.30319

0

NCover 1.5.8不支持.net 4.0,它看起来像TD.NET正在挑选.NET 4作为默认设置。

+0

不真的得到这个?如果NCover不支持它,它如何在TD.net中工作? – 2010-10-19 18:40:45

+0

它必须将代码编译为.net 2代码并以此方式运行。 1.5.8只支持.net 2.0 profiler api。 – 2010-10-29 01:07:49

+0

1.5.8只支持.net 2.0 profiler api,但它可能会让.net 4.0应用程序与.net 2.0 profiler api交互。没有关于成功的保证,但在其他答案中的链接问题的解决方案对我有效。 – 2011-02-07 17:11:19