当代码覆盖率低于某个阈值时,如何导致构建失败?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 Build 2008构建Visual Studio 2010项目的代码覆盖率可能吗?
- 4. TFS 2010构建自动化 - 启用代码覆盖
- 5. 如果代码覆盖率低于构建之前,如何配置哈德森失败?
- 6. 构建JAR的代码覆盖率
- 7. 使用TFS 2015的代码覆盖率
- 8. 代码覆盖率Visual Studio 2010
- 9. 为什么代码覆盖率报告在php 7.2上失败?
- 10. 代码覆盖率为Android
- 11. 构建失败与TFS 2010构建但通过VS 2010
- 12. 分析代码覆盖率消失
- 13. 代码覆盖率:.NET代码覆盖率和SonarQube VSTS集成
- 14. 如何获得TFS上的XUnit测试代码覆盖率?
- 15. TFS构建失败
- 16. Jacoco代码覆盖率显示Jenkins覆盖率为0%
- 17. 如何在存在新的未被覆盖的代码时使构建失败?
- 18. 代码覆盖率 - 哪个代码覆盖哪个代码?
- 19. 如何最大化代码覆盖率?
- 20. XCode - 代码覆盖率?
- 21. 全部代码覆盖率
- 22. TDD和代码覆盖率
- 23. Appium iOS代码覆盖率
- 24. PHPUnit代码覆盖率
- 25. Grails 3代码覆盖率
- 26. 代码覆盖率统计
- 27. MSTest代码覆盖率
- 28. PHPUnit代码覆盖率0%
- 29. Jacoco代码覆盖率
- 30. Xcode 8代码覆盖率