PublishCodeCoverageResults@2 - 發佈程式代碼涵蓋範圍結果 v2 工作
使用此工作可從組建取得程式代碼涵蓋範圍結果。
Syntax
# Publish code coverage results v2
# Publish any of the code coverage results from a build.
- task: PublishCodeCoverageResults@2
inputs:
summaryFileLocation: # string. Required. Path to summary files.
#pathToSources: # string. Path to Source files.
#failIfCoverageEmpty: false # boolean. Fail if code coverage results are missing. Default: false.
輸入
summaryFileLocation
- 摘要檔案的路徑
string
. 必要。
指定包含程式代碼涵蓋範圍統計數據的摘要檔路徑,例如行、方法和類別涵蓋範圍。 多個摘要檔案會合併成單一報表。 此值可能包含迷你模式。 例如:$(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml
。 有關迷你模式的詳細資訊。
pathToSources
- 來源檔案的路徑
string
.
當涵蓋範圍 XML 報表不包含來源檔案的絕對路徑時,需要指定來源檔案的路徑。 例如,JaCoCo 報表不會使用絕對路徑,因此在發布 Java 應用程式的 JaCoCo 涵蓋範圍時,模式類似於 $(System.DefaultWorkingDirectory)/MyApp/src/main/java/
。 此輸入應該指向主機上來源檔案的絕對路徑。 例如: $(System.DefaultWorkingDirectory)/MyApp/
。
如果測試是在 Docker 容器中執行,則可以使用此輸入。
failIfCoverageEmpty
- 如果遺漏程式代碼涵蓋範圍結果,則失敗
boolean
. 預設值:false
。
如果程式代碼涵蓋範圍未產生任何要發佈的結果,工作就會失敗。
工作控制選項
除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制選項和一般工作屬性。
輸出變數
無。
備註
注意
如需發佈程式代碼涵蓋範圍結果工作的 V2 新功能,以及從 V1 移轉至 V2 的詳細資訊,請參閱 Azure DevOps 部落格上的新版本發佈程式代碼涵蓋範圍結果工作。
在組建管線中使用這項工作,將執行測試時所產生的程式代碼涵蓋範圍結果發佈至 Azure Pipelines 或 TFS,並在產生涵蓋範圍 xml 檔案之後,以取得管線中的程式代碼涵蓋範圍索引卷標和涵蓋範圍報告詳細數據。 工作支援程式代碼涵蓋範圍產生的 xml 格式。 此工作會產生包含程式代碼涵蓋範圍詳細數據的 cjson 檔案。 它也會在組建成品下產生程式代碼涵蓋範圍 HTML 報表。
此工作僅在組建管線中受到支援,而不是發行管線。
Visual Studio Test、.NET Core、Ant、Maven、Gulp 和 Grunt 等工作也會提供將程式代碼涵蓋範圍數據發佈至管線的選項。 如果您使用這些工作,則不需要管線中的個別發佈程式代碼涵蓋範圍結果工作。
必要條件 - 若要在管線中使用發佈程式代碼涵蓋範圍結果 v2 工作,請使用 dotnet 7.0.x 工作作為管線的必要條件。 在發佈程式代碼涵蓋範圍 v2 工作之前,請使用 dotnet core 工作。
必要條件
若要使用 YAML 管線設定必要條件:
# Dotnet core sdk task 7.0.x
- task: UseDotNet@2
displayName: 'Use .NET Core sdk 7.0.x'
inputs:
version: 7.0.x
若要使用設計工具設定必要條件:
使用下列設定來設定發佈程式代碼涵蓋範圍結果第 2 版工作。
建置完成且發佈程式代碼涵蓋範圍結果 v2 工作成功之後,請選取管線執行摘要中的 [程式 代碼涵蓋範圍 ] 索引卷標,以檢視程式代碼涵蓋範圍結果。
使用 YAML 搭配使用 JavaScript 的程式代碼涵蓋範圍結果
若要使用 YAML 發佈 JavaScript 的程式代碼涵蓋範圍結果,請參閱一節中的 自定義 JavaScript ,其中也包含其他語言的範例。
請參閱 使用 Cobertura 發佈程式代碼涵蓋範圍的範例。
Docker
針對使用 Docker 的應用程式,建置和測試可能會在容器內執行,並在容器內產生程式代碼涵蓋範圍結果。 若要將結果發佈至管線,應該將產生的成品提供給 [發佈程式代碼涵蓋範圍結果 ] 工作。 如需參考,您可以在 Docker 的 [建置]、[測試及發佈結果] 區段底下,看到發佈測試結果的類似範例。
檢視結果
若要檢視管線中的程式代碼涵蓋範圍結果,請參閱 檢閱程式代碼涵蓋範圍結果。
已知問題
發佈程式代碼涵蓋範圍結果 v2 工作會產生 cjson 檔案,並在程式代碼涵蓋範圍索引標籤下發佈程式代碼涵蓋範圍報表。它也會產生組建成品,這是一組從主要 index.html 檔案連結的 HTML 檔案。 如果程式代碼涵蓋範圍索引標籤無法顯示程式代碼涵蓋範圍報表,請檢查輸入程式碼涵蓋範圍 xml 檔案的格式是否正確,且具有有效的詳細數據。
規格需求
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建 |
在上執行 | 代理程式 |
要求 | 無 |
Capabilities | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
可設定變數 | 任何 |
代理程式版本 | 2.144.0 或更新版本 |
工作類別 | 測試 |