当代码覆盖率低于特定阈值时,如何使构建失败?
http://codeexperiment.com/file.axd?file=2008%2f9%2fCodeCoverageConverter.zip
注意:您可能需要针对“Microsoft.VisualStudio.Coverage.Analysis.dll”的VS2010版本重新编译它。/CoverageDSPriv/Module/LinesCovered
/CoverageDSPriv/Module/LinesNotCovered
http://msbuildtasks.tigris.org/
一旦你在MSBuild属性中有了总体比率,你就可以使用条件任务来打破构建,如果该数字低于你所需的阈值。<Error Condition=" $(CodeCoverageRatio) < $(MinCodeCoverage) "
Text="Code Coverage is below required threshold." />
很可能有一种方法可以通过构建任务来实现这一点(特别是如果您愿意自己编写)。希望有人会为您发布一些示例代码。
如果没有,我对NDepend在这种类型的任务中印象深刻。您可以使用非常自说明的类似SQL的语法编写代码,以确定有关代码的各种指标,并根据阈值警告或失败构建。
例如:
WARN IF Count > 0 IN SELECT METHODS WHERE CodeWasChanged AND PercentageCoverage < 95
WARN IF Count > 0 IN SELECT METHODS WHERE IsPublic AND IsInOlderBuild AND WasRemoved