有没有适用于.NET 4和NUnit的免费代码覆盖率工具?

13

有没有适用于.NET 4和NUnit的免费代码覆盖工具,可以从命令行运行(因此适用于构建服务器)?

请注意,任何需要高于专业版的Visual Studio版本的工具在这种情况下都不合适。

我提出这个问题是因为我无法让NCover 1.5.8与.NET 4 C#应用程序上的NUnit 2.5.5一起工作。 我可以运行单元测试,并生成一个Coverage.Xml文件,但它是空的-它不包含序列点。 经过大量研究,我得出结论,这是因为NCover 1.5.8根本无法与.NET 4一起使用。但是,如果您有更好的了解,请随时从另一个用户的问题中回答


我本来想建议使用旧版本的NCover。我很想看看.NET4问题是什么。 - Andrew Bullock
4个回答

5

有一个PartCover,以及两个partcover的分支:

Sharpcover在这里

Partcover-fork在这里

它们似乎都已经无法使用了。不确定是否与.NET 4兼容,但Partcover可以在3.5代码上运行良好。我希望看到有人接手这些。

编辑 又加入了一个,专门用于.NET 4覆盖率:http://wiki.github.com/sawilde/partcover.net4/


2
NCover在.NET市场上一直占据着代码覆盖率领域的地位,可能是自从它首次商业化以来。我猜测问题在于旧版免费版本是为.NET 2编译的,而.NET 4与旧版NCover有足够大的差异,因此旧版NCover现在无法正常工作。
就其价值而言,NCover 3似乎是最可行的选择。尽管不是免费的,但经典版本的成本并不太高。我最近一直在试用它,并且它对.NET 4应用程序的运行良好。而且它比高端版本的Visual Studio便宜得多。

1
...而且通过“NCover Loves Devs”优惠,价格更便宜:http://www.ncover.com/we_love_devs - The Chairman
1
看起来这个交易已经过期了。 - Larry Fix
我下载了一个NCover试用版(21天)来尝试一下,目前看起来还不错。支持文档也很有用 - 我的情况只是在使用MSTest时使用它,但我也想合并生成的覆盖率结果,而它也可以做到。 - dodgy_coder

2

提醒:PartCover现在支持.NET 4.0


0

我认为这个问题的简短回答是“不行”。

我发现通过一些技巧可以让NCover 1.5.8工作,但似乎没有免费的支持.NET 4的工具。如果你有其他发现,请在本帖或问题下评论,我将非常感激。

(*) “技巧是设置环境变量:COMPLUS_ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler”

-Jamie Cansdale


我帖子中的最后一个链接是关于 .net 4 覆盖率的。http://wiki.github.com/sawilde/partcover.net4/ - nportelli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接