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

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

重要

このタスクは非推奨とされます。 ユーザーは、 PublishCodeCoverageResults@2に切り替える必要があります。 詳細については、「 コード カバレッジ結果の発行タスクの新しいバージョン」を参照してください。

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

構文

# 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. 必須です。

行、メソッド、クラス カバレッジなどのコード カバレッジ統計を含むサマリー ファイルのパスを指定します。 複数のサマリー ファイルが 1 つのレポートにマージされます。 値には minimatch パターンが含まれる場合があります。 (例: $(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 レポート ディレクトリのパスを指定します。 レポート ディレクトリは、ビルドの成果物として後に表示するために発行されます。 値には minimatch パターンが含まれる場合があります。 (例: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura)。


additionalCodeCoverageFiles - その他のファイル
string.

ファイル パス パターンを指定し、ビルドの成果物として発行される追加のコード カバレッジ ファイルをメモします。 値には minimatch パターンが含まれる場合があります。 (例: $(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 の Docker ファイルを使用した結果のビルド、テスト、発行に関するセクションで、テスト結果を発行するための同様の例を確認できます。

結果の表示

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

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

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

既知の問題

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

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

    [概要] ウィンドウ内の発行済みリンクを示すスクリーンショット。

  2. "コード カバレッジ レポート_*" 成果物の横にある [成果物のダウンロード] を選択します。

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

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

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

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

要件

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

こちらもご覧ください