共用方式為


PublishCodeCoverageResults@1 - 發佈程式代碼涵蓋範圍結果 v1 工作

使用此工作可從組建發佈 Cobertura 或 JaCoCo 程式代碼涵蓋範圍結果。

從組建發佈 Cobertura 或 JaCoCo 程式代碼涵蓋範圍結果。

使用此工作可從組建發佈 Cobertura 或 JaCoCo 程式代碼涵蓋範圍結果。

語法

# Publish code coverage results v1
# Publish Cobertura or JaCoCo code coverage results from a build.
- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: 'JaCoCo' # 'Cobertura' | 'JaCoCo'. Required. Code coverage tool. Default: JaCoCo.
    summaryFileLocation: # string. Required. Summary file. 
    #pathToSources: # string. Path to Source files. 
    #reportDirectory: # string. Report directory. 
    #additionalCodeCoverageFiles: # string. Additional files. 
    #failIfCoverageEmpty: false # boolean. Fail when code coverage results are missing. Default: false.
# Publish Code Coverage Results v1
# Publish Cobertura or JaCoCo code coverage results from a build.
- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: 'JaCoCo' # 'Cobertura' | 'JaCoCo'. Required. Code coverage tool. Default: JaCoCo.
    summaryFileLocation: # string. Required. Summary file. 
    #reportDirectory: # string. Report directory. 
    #additionalCodeCoverageFiles: # string. Additional files. 
    #failIfCoverageEmpty: false # boolean. Fail when code coverage results are missing. Default: false.

輸入

codeCoverageTool - 程式代碼涵蓋範圍工具
string。 必填。 允許的值:CoberturaJaCoCo。 預設值:JaCoCo

指定產生程式代碼涵蓋範圍結果的工具。


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 容器中執行測試,可以使用此輸入。

您可以使用 ; 字元分隔每個清單項目來新增多個來源,例如 pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source


reportDirectory - 報表目錄
string

指定程式代碼涵蓋範圍 HTML 報表目錄的路徑。 報表目錄已發行,以供稍後檢視為組建的成品。 值可能包含迷你模式。 例如:$(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura


additionalCodeCoverageFiles - 其他檔案
string

指定檔案路徑模式,並記下要發佈為組建成品的任何其他程式碼涵蓋範圍檔案。 值可能包含迷你模式。 例如:$(System.DefaultWorkingDirectory)/**/*.exec


failIfCoverageEmpty - 遺失程式代碼涵蓋範圍結果時失敗
boolean。 預設值:false

如果程式代碼涵蓋範圍未產生任何要發佈的結果,工作就會失敗。


工作控制選項

除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性

輸出變數

沒有。

言論

在組建管線中使用這項工作,將執行測試時所產生的程式代碼涵蓋範圍結果發佈至 Azure Pipelines 或 TFS,以取得涵蓋範圍報告。 此工作支援熱門涵蓋範圍結果格式,例如cobertura JaCoCo

只有在組建管線中才支援這項工作,而不是發行管線。

Visual Studio Test.NET CoreAntMavenGulpGrunt 等工作也會提供將程式代碼涵蓋範圍數據發佈至管線的選項。 如果您使用這些工作,則不需要管線中的個別發佈程式代碼涵蓋範圍結果工作。

若要產生 HTML 程式代碼涵蓋範圍報告,您需要代理程式上的 dotnet Framework 2.0.0 或更新版本。 dotnet 資料夾必須位於環境路徑中。 如果有多個資料夾包含 dotnet,則具有 2.0.0 版的資料夾必須在路徑清單中的任何其他資料夾之前。

使用 YAML 搭配伊斯坦布爾的 JavaScript 程式代碼涵蓋範圍結果

若要使用 YAML 發佈 JavaScript 的程式代碼涵蓋範圍結果,請參閱這些主題的生態系統一節中的 自定義 JavaScript,其中也包含其他語言的範例。

請參閱使用 Cobertura發佈程式代碼涵蓋範圍的 範例。

碼頭工人

對於使用 Docker 的應用程式,建置和測試可能會在容器內執行,並在容器內產生程式代碼涵蓋範圍結果。 若要將結果發佈至管線,應該將產生的成品提供給 發佈程式代碼涵蓋範圍結果 工作。 如需參考,您可以在 組建、測試及發行結果的 Docker 檔案 一節底下,看到類似的範例來發佈測試結果,Docker

檢視結果

若要檢視管線中的程式代碼涵蓋範圍結果,請參閱 檢閱程式代碼涵蓋範圍結果

當在管線中使用多個檔案做為工作輸入或多個工作時,程式代碼涵蓋範圍數據是否會合併?

目前,此工作所提供的程式代碼涵蓋範圍報告功能有限,而且不會合併涵蓋範圍數據。 如果您提供多個檔案做為工作的輸入,則只會考慮第一個相符專案。 如果您在管線中使用多個發佈程式代碼涵蓋範圍工作,則會針對最後一個工作顯示摘要和報表。 會忽略任何先前上傳的數據。

已知問題

發佈程式代碼涵蓋範圍結果工作會產生併發佈 HTML 報表,這是一組從主要 index.html 檔案連結的 HTML 檔案。 如果程式代碼涵蓋範圍索引標籤無法顯示程式代碼涵蓋範圍報告,請檢查 index.html 檔案的大小是否接近或大於 7 MB。 完成下列步驟以檢查檔案的大小。 然後,如果檔案大小接近或大於 7 MB,您可以使用下列因應措施來檢視涵蓋範圍報告。

  1. 選取 [組建 摘要] 索引卷標,然後選取 已發佈 連結:

    顯示 [摘要] 窗格中已發行連結的螢幕快照。

  2. 程式代碼涵蓋範圍Report_* 成品旁,選取 [下載成品]

    顯示 [成品] 底下程式代碼涵蓋範圍報告的 [下載成品] 鏈接的螢幕快照。

  3. 下載程式代碼涵蓋範圍報告時,擷取 .zip 檔案。

  4. 在程式代碼涵蓋範圍報告中,檢查 index.html 的大小,以協助判斷檔案大小是否造成此處所述的問題。

  5. 在瀏覽器中開啟 index.html,以檢視程式代碼涵蓋範圍報告。

要求

要求 描述
管線類型 YAML,傳統組建
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 此工作有權 設定下列變數:已停用設定變數
代理程式版本 2.182.1 或更新
工作類別 測試
要求 描述
管線類型 YAML,傳統組建
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 2.102.0 或更新
工作類別 測試

另請參閱