次の方法で共有


PublishCodeCoverageResults@1 - コード カバレッジの結果 v1 タスクを発行する

このタスクを使用して、ビルドから Cobertura または JaCoCo コード カバレッジの結果を発行します。

ビルドからの Cobertura または JaCoCo コード カバレッジの結果を発行します。

このタスクを使用して、ビルドから Cobertura または JaCoCo コード カバレッジの結果を発行します。

構文

# Publish code coverage results v1
- 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.

入力

codeCoverageTool - コード カバレッジ ツールの
string. 必須。 使用できる値: CoberturaJaCoCo。 既定値: JaCoCo.

コード カバレッジの結果を生成するツールを指定します。


summaryFileLocation - 概要ファイルの
string. 必須。

行、メソッド、クラス カバレッジなど、コード カバレッジ統計を含むサマリー ファイルのパスを指定します。 複数の概要ファイルが 1 つのレポートにマージされます。 この値には、ミニマッチ パターンが含まれている場合があります。 例: $(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 を使用するアプリの場合、ビルドとテストはコンテナー内で実行され、コンテナー内でコード カバレッジの結果が生成される場合があります。 結果をパイプラインに発行するには、結果の成果物を Publish Code Coverage Results タスクで使用できるようにする必要があります。 参考までに、Dockerの Docker ファイル セクションで、ビルド、テスト、発行の結果を発行する場合の同様 の例を確認できます。

結果を表示する

パイプラインでコード カバレッジの結果を表示するには、「コード カバレッジの結果を確認するを参照してください。

複数のファイルがタスクへの入力として提供されている場合、またはパイプラインで複数のタスクが使用されている場合、コード カバレッジ データはマージされますか?

現時点では、このタスクによって提供されるコード カバレッジ レポート機能は制限されており、カバレッジ データはマージされません。 タスクへの入力として複数のファイルを指定した場合、最初の一致のみが考慮されます。 パイプラインで複数の発行コード カバレッジ タスクを使用する場合は、最後のタスクの概要とレポートが表示されます。 以前にアップロードされたデータは無視されます。

既知の問題

発行コード カバレッジの結果タスクは、メインの index.html ファイルからリンクされている HTML ファイルのセットである HTML レポートを生成して発行します。 コード カバレッジ タブにコード カバレッジ レポートが表示されない場合は、index.html ファイルのサイズが 7 MB に近いか大きいかを確認します。 ファイルのサイズを確認するには、次の手順を実行します。 その後、ファイル サイズが 7 MB に近い場合、または 7 MB を超える場合は、次の回避策を使用してカバレッジ レポートを表示できます。

  1. ビルド [概要] タブを選択し、発行された リンク 選択します。

    概要ウィンドウに発行されたリンクを示すスクリーンショット。

  2. Code Coverage Report_* 成果物の横にある [成果物のダウンロード]選択します。

    成果物の下にあるコード カバレッジ レポートの [成果物のダウンロード] リンクを示すスクリーンショット。

  3. コード カバレッジ レポートがダウンロードされたら、.zip ファイルを抽出します。

  4. コード カバレッジ レポートで、index.html のサイズを確認して、ファイル サイズがここで説明する問題の原因になっているかどうかを判断します。

  5. ブラウザーで index.html を開き、コード カバレッジ レポートを表示します。

必要条件

要件 形容
パイプラインの種類 YAML、クラシック ビルド
実行日 エージェント、DeploymentGroup
の需要 何一つ
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 任意
設定可能な変数 このタスクには、次の変数設定 アクセス許可があります。変数の設定は無効です
エージェントのバージョン 2.182.1 以上
タスク カテゴリ 試験
要件 形容
パイプラインの種類 YAML、クラシック ビルド
実行日 エージェント、DeploymentGroup
の需要 何一つ
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 任意
設定可能な変数 任意
エージェントのバージョン 2.102.0 以上
タスク カテゴリ 試験

関連項目