我正在寻找一个工具(最好是免费的)来分析我们的C#解决方案的增量代码覆盖率。我的意思是,我不想知道所有代码的总代码覆盖率,甚至不想知道名称空间的总代码覆盖率,而是只想知道新的代码行,或者自上次签入以来更改的代码行。(我们使用subversion进行源代码控制。)
我想调用这个工具作为我们自动化构建过程的一部分,并在有人签入代码覆盖率低于X%的新代码时报告。
有没有人知道有什么工具可以做到这一点?
谢谢。
发布于 2009-02-12 20:06:37
NDepend拥有以下功能:
NDepend从NCover™和Visual Studio Team System™收集代码覆盖率数据。从这些数据中,NDepend推断出一些关于方法、类型、命名空间和程序集的指标: PercentageCoverage、NbLinesOfCodeCovered、NbLinesOfCodeNotCovered和BranchCoverage (仅来自NCover )。
这些指标可以与其他NDepend功能一起使用。例如,您可以知道自上一版本以来添加或重构了哪些代码,并且测试没有完全覆盖这些代码。您可以编写CQL约束来持续检查一组类是否100%被覆盖。您可以列出需要更多测试的复杂方法。
我似乎记得NDepend能够与早期构建中的数据进行比较,所以看起来NDepend和NCover的组合可能会做到这一点。不过,我自己还没有试过。。)
发布于 2009-02-12 20:53:32
根据.Net的版本,您可以免费使用NCover。但是,如果您使用的是较新版本的.net,就不会那么便宜了。您可能仍然需要编写自己的样式表来解析NCover的结果,以获得您所要求的具体内容。
除此之外,我没有听说过或看到有其他工具可以做到这一点,除非你想自己写。
NCover基本上使用.Net分析API,所以从理论上讲,您也可以这样做。
发布于 2009-02-13 10:23:40
我使用PartCover来分析我的单元测试,以获得良好的效果。对于您正在寻找的数据,您可以使用控制台工具并从report xml中提取visit和len计数。
https://stackoverflow.com/questions/542947
复制相似问题