コードカバレッジレポートを作成 - AWS CodeBuild

コードカバレッジレポートを作成

CodeBuild を使用して、テストのコードカバレッジレポートを生成できます。次のコードカバレッジレポートが用意されています。

ラインカバレッジ

ラインカバレッジは、テストがカバーするステートメントの数を測定します。ステートメントは、コメントや条件を含まない、単一の命令です。

line coverage = (total lines covered)/(total number of lines)

ブランチカバレッジ

ブランチカバレッジは、コントロール構造のすべてのブランチ内のテスト可能なブランチの数を測定します (「if」または「case」ステートメントなど)。

branch coverage = (total branches covered)/(total number of branches)

以下のコードカバレッジレポートファイル形式がサポートされています。

  • JaCoCo XML

  • SimpleCov JSON¹

  • クローバー XML

  • Cobertura XML

  • LCOV INFO

¹ CodeBuild は、simplecov-json ではなく、simplecov によって生成された JSON コードカバレッジレポートを受け入れます。

コードカバレッジレポートの作成

コードカバレッジレポートを作成するには、buildspec ファイルの最低 1 つのコードカバレッジグループで設定されているビルドプロジェクトを実行します。CodeBuild は、コードカバレッジの結果を解釈し、実行のコードカバレッジレポートを提供します。同じ buildspec ファイルを使用する後続のビルドごとに、新しいテストレポートが生成されます。

テストレポートを作成するには
  1. ビルドプロジェクトを作成します。詳細については、AWS CodeBuild でのビルドプロジェクトの作成 を参照してください。

  2. テストレポート情報を使用してプロジェクトの buildspec ファイルを設定します。

    1. reports: セクションを追加し、レポートグループの名前を指定します。名前を指定した場合、CodeBuild は、プロジェクト名と指定した project-name - report-group-name-in-buildspec 形式でレポートグループを作成します。使用するレポートグループがすでにある場合は、その ARN を指定します。ARN の代わりに名前を使用する場合、CodeBuild は新しいレポートグループを作成します。詳細については、「Reports syntax in the buildspec file」を参照してください。

    2. レポートグループで、コードカバレッジの結果を保存するファイルの場所を指定します。複数のレポートグループを使用する場合は、各レポートグループに対して結果ファイルの場所を指定します。ビルドプロジェクトを実行するたびに、新しいコードカバレッジが作成されます。詳細については、「テストファイルの指定」を参照してください。

      これは「test-results/jacoco-coverage-report.xml」にある JaCoCo XML 結果ファイルのコードカバレッジレポートを生成する例です。

      reports: jacoco-report: files: - 'test-results/jacoco-coverage-report.xml' file-format: 'JACOCOXML'
    3. build」または「post_build」シーケンスの「commands」セクションで、コードカバレッジ分析を実行するコマンドを指定します。詳細については、「 テストコマンドの指定 」を参照してください。

  3. ビルドプロジェクトのビルドを実行します。詳細については、「AWS CodeBuild ビルドを手動で実行」を参照してください。

  4. ビルドが完了したら、プロジェクトページの [Build history (ビルド 履歴)] から新しいビルド実行を選択します。レポートを選択して、コードカバレッジレポートを表示します。詳細については、「ビルドのテストレポートの表示」を参照してください。