當代碼覆蓋率低於某個閾值時,如何導致構建失敗?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