增量.NET代码覆盖率工具?

Asked
Viewd933

3

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

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

有人知道实现这一目标的工具吗?

谢谢。

4 个答案

0

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

0

根据.Net的版本,您可以免费使用NCover。但是,如果您使用的是.net的较新版本,它并不便宜。您可能仍然必须编写自己的样式表来解析NCover的结果,以明确获得您的要求。

除此之外,除非您想自己编写,否则我还没有听说过其他工具可以做到这一点。

NCover基本上使用.Net Profiling API,因此从理论上讲,您可以这样做。

  • Partcover (http://sourceforge.net/projects/partcover/) is free, works for the latest runtime versions and outputs the same data as NCover. The OP would still need to mine this data for ‘new code’ with low coverage.

    Hamish SmithFebruary 13, 2009 03:42
  • Awesome I’ll have to take a look at that project. We actually have nCover at work but it would be nice to have something similar at home.

    Joshua CaubleFebruary 13, 2009 23:06
3

NDepend 具有以下特点:

NDepend从NCover™和Visual Studio Team System™收集代码覆盖率数据。由此 数据,NDepend推断一些有关方法,类型,名称空间和程序集的指标: 百分比覆盖率,NbLinesOfCodeCovered,NbLinesOfCodeNotCovered和BranchCoverage (仅限于NCover)。

这些度量可以与其他NDepend功能一起使用。例如你可以 知道自上次发行以来已添加或重构了哪些代码,并且不完全 被测试覆盖。您可以编写CQL约束来连续检查一组 课程覆盖率达100%。您可以列出哪些复杂的方法需要更多测试。

我似乎还记得NDepend能够与早期版本的数据进行比较,因此看起来NDepend和 NCover 可能可以解决问题。自己还没有尝试过。 )