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

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

重要

此工作已被取代。 建議使用者切換至 PublishCodeCoverageResults@2。 如需詳細資訊,請參閱 新版本的發行程式代碼涵蓋範圍結果工作

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

Syntax

# Publish code coverage results v1
# [DEPRECATION WARNING! Users are recommended to switch to version 2*.] 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. 
    #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.
# YAML Syntax is not supported in TFS 2018.
# Use the classic designer to add and configure tasks.
# See the following Inputs section for details on the inputs that this task supports.

輸入

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

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


工作控制選項

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

輸出變數

無。

備註

重要

此工作已被取代。 建議使用者切換至 PublishCodeCoverageResults@2。 如需詳細資訊,請參閱 新版本的發行程式代碼涵蓋範圍結果工作

注意

如需發佈程式代碼涵蓋範圍結果工作的 V2 新功能,以及從 V1 移轉至 V2 的詳細資訊,請參閱 Azure DevOps 部落格上的新版發佈程式代碼涵蓋範圍結果工作。

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

此工作僅支援建置管線,而非發行管線。

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

另請參閱