C#代码覆盖的最有效(免费)工具是什么?

时间:2011-07-22 13:11:39

标签: c# code-coverage

Visual Studio C#Express版本在编写C#时是一个足够的IDE - 而NUnit是编写单元测试的适当框架。但是,这种配对不足以建立这些测试的代码覆盖率。

我意识到专业版和旗舰版与MSTest集成并提供完全集成的代码覆盖......但这限制了对购买相关IDE的人的覆盖验证 - 这是不理想的。

我并不担心将覆盖率分析整合到IDE中......这是一种方法,但我对批处理生成的报告同样感到满意......这可以集成到持续集成中。 / p>

我担心覆盖率指标的质量 - 例如,我希望分支级别的覆盖率分析不仅仅是行级别。

我想象Visual Studio Professional / Ultimate对于Mono环境中的开发人员来说不是一个想法解决方案......任何人都可以告诉我在这样的环境中通常使用什么?

4 个答案:

答案 0 :(得分:7)

NCrunch非常酷。它为您提供代码左侧的可视指示器,让您知道它是否已被覆盖,以及是否已通过测试。

http://www.ncrunch.net/

答案 1 :(得分:5)

OpenCover和PartCover是目前的两个主要工具。

PartCover是最早的,不再在SourceForge上主动维护。此实用程序的支持已移至GitHub(PartCover on GitHub

OpenCover更新,也在GitHub上(OpenCover on GitHub),它具有64位和32位支持,并克服了PartCover的一些限制(内存和结果交付)。

两者都受到TypeMock的支持(我认为很快就会添加OpenCover支持,请参阅Can Opencover be used with TypeMock Isolator?

可以使用ReportGenerator()

提供PartCover和OpenCover的报告

答案 2 :(得分:1)

PartCover

SharpDevelop? SharpDevelop是一个备用IDE,它具有比VS版本更快的功能。

答案 3 :(得分:0)

我很惊讶没有人提到这一点,但是visual studio Team Edition附带了一个代码覆盖工具。 (它是Team Tools套件的一部分)。此外,当您在VS Team Edition中运行单元测试时,它会执行代码覆盖率AUTO-MAGICALLY。 :)

因此,如果您已经拥有Team Edition,那么它在某种意义上是免费的,但当然Team Edition的成本要高一些。你去吧。