当代码覆盖率低于某个阈值时,如何导致构建失败?TFS 2010 RC:如何为低代码覆盖率构建失败?
7
A
回答
0
对于构建任务,很可能有一种方法可以做到这一点(特别是如果您愿意推出自己的作品)。希望有人会为你发布一些示例代码。
如果不是这样,我对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
2
的主要问题是,该MSTest的生成代码覆盖率结果文件是二进制格式。但是,假设事情并没有在VS2010的变化太大了,你应该能够使用此工具将其转换成XML文件:
http://codeexperiment.com/file.axd?file=2008%2f9%2fCodeCoverageConverter.zip
注意:你可能需要重新编译反对VS2010版本的'Microsoft.VisualStudio.Coverage.Analysis.dll。
然后,您可以使用您的首选解析XML文件的方法,对每个测量装配进行数学计算以计算总覆盖率。你感兴趣的(至少VS2008)的XPath是:
/CoverageDSPriv/Module/LinesCovered
/CoverageDSPriv/Module/LinesNotCovered
如果你想要做纯粹的MSBuild这最后一步,那么“XmlRead”和包含的MSBuild社区任务中的数学“的任务库应该足够了:
http://msbuildtasks.tigris.org/
一旦你有一个MSBuild属性的总体比例,你那么只需使用条件的任务,以打破建立,如果这个数字比所需的阈值。
<Error Condition=" $(CodeCoverageRatio) < $(MinCodeCoverage) "
Text="Code Coverage is below required threshold." />
0
古代问题,但未标记为已回答。看看this
相关问题
- 1. 分析代码使用代码覆盖率在TFS构建期间失败
- 2. TFS Update 2代码覆盖率丢失
- 3. TFS - 重建丢失的覆盖代码?
- 4. TFS Build 2008构建Visual Studio 2010项目的代码覆盖率可能吗?
- 5. 如何基于chutzpah覆盖率构建失败?
- 6. TFS使用NUnit构建2010代码覆盖范围
- 7. TFS 2010构建自动化 - 启用代码覆盖
- 8. 如果代码覆盖率低于构建之前,如何配置哈德森失败?
- 9. 构建JAR的代码覆盖率
- 10. 使用TFS 2015的代码覆盖率
- 11. 代码覆盖率Visual Studio 2010
- 12. 为什么代码覆盖率报告在php 7.2上失败?
- 13. 为Perl代码覆盖率
- 14. 代码覆盖率为Android
- 15. 覆盖率条件失败
- 16. 如何发布代码覆盖率结果返回给TFS 2013
- 17. TFS 2010链接文件构建失败
- 18. 构建从Visual Studio失败TFS 2013 2010
- 19. 构建失败与TFS 2010构建但通过VS 2010
- 20. 分析代码覆盖率消失
- 21. 如何获得TFS上的XUnit测试代码覆盖率?
- 22. 如何在TFS 2015中自定义代码覆盖率摘要
- 23. 代码覆盖率:.NET代码覆盖率和SonarQube VSTS集成
- 24. 声纳代码覆盖率:%代码覆盖率不一致
- 25. TFS构建失败
- 26. TFS构建失败
- 27. Jacoco代码覆盖率显示Jenkins覆盖率为0%
- 28. 靶心覆盖率,代码覆盖率为0%
- 29. PHPUnit的代码覆盖率失败,YAML依赖
- 30. 合并Visual Studio代码覆盖率失败ImageNotFoundException