增量.NET代码覆盖工具?

时间:2009-02-12 19:52:38

标签: c# .net unit-testing testing build-automation

我正在寻找一种分析C#解决方案的增量代码覆盖率的工具(最好是免费的)。我的意思是,我不想知道所有代码甚至命名空间的总代码覆盖率是多少,而只是新代码行或自上次签入后更改的代码行。 (我们使用subversion进行源代码控制。)

我想将此工具称为自动构建过程的一部分,并在有人检查代码覆盖率低于X%的新代码时报告。

有谁知道有一个工具可以实现这个目标吗?

感谢。

4 个答案:

答案 0 :(得分:3)

NDepend拥有以下内容:

  

NDepend从NCover™和Visual Studio Team System™收集代码覆盖率数据。由此   数据,NDepend在方法,类型,命名空间和程序集中推断出一些指标:   PercentageCoverage,NbLinesOfCodeCovered,NbLinesOfCodeNotCovered和BranchCoverage   (仅限NCover)。

     

这些指标可以与其他NDepend功能一起使用。例如,你可以   知道自上次发布以来添加或重构的代码并不彻底   测试覆盖。您可以编写一个CQL约束来连续检查一组   课程100%覆盖。您可以列出哪些复杂方法需要更多测试。

我似乎记得NDepend能够与早期版本的数据进行比较,因此看起来NDepend和NCover 的组合可能可以做到这一点。虽然没有尝试过。 。)

答案 1 :(得分:0)

根据.Net的版本,您可以免费使用NCover。但是,如果您使用的是较新版本的.net,那就不那么便宜了。你可能仍然需要编写自己的样式表来解析NCover的结果,以明确提出你的要求。

除此之外,我没有听到或看到过其他工具,除非你想自己写。

NCover基本上使用.Net Profiling API,理论上你也可以这样做。

答案 2 :(得分:0)

我使用PartCover来分析我的单元测试以获得良好的效果。对于您要查找的数据,您可以使用控制台工具从报告xml中提取visitlen计数。

答案 3 :(得分:0)

除了Rythmis的回答之外,我还提供了这篇博文,详细解释了NDepend与NCover或VSTS报道如何回答这个问题: Are you sure added and refactored code is covered by tests?