Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

'AWS CLI を使用したテストレポート' サンプル

フォーカスモード

このページの内容

'AWS CLI を使用したテストレポート' サンプル - AWS CodeBuild

buildspec ファイルで指定したテストは、ビルド中に実行されます。このサンプルでは、AWS CLI を使用して、CodeBuild のビルドにテストを組み込む方法を示します。JUnit を使用して単体テストを作成または、別のツールを使用して構成テストを作成することもできます。その後、テスト結果を評価して、問題を修正したり、アプリケーションを最適化したりできます。

CodeBuild API または AWS CodeBuild コンソールを使用して、テスト結果にアクセスできます。このサンプルでは、テスト結果が S3 バケットにエクスポートされるようにレポートを設定する方法を示します。

テストレポートサンプルを実行

次の手順を使用して、テストレポートサンプルを実行します。

前提条件

  • テストケースの作成 このサンプルは、サンプルテストレポートに含めるテストケースがあるという前提で書かれています。buildspec ファイルでテストファイルの場所を指定します。

    以下のテストレポートファイル形式がサポートされています。

    • Cucumber JSON (.json)

    • JUnit XML (.xml)

    • NUnit XML (.xml)

    • NUnit3 XML (.xml)

    • TestNG XML (.xml)

    • Visual Studio TRX (.trx)

    • Visual Studio TRX XML (.xml)

    Surefire JUnit plugin、TestNG、Cucumber などのいずれかの形式でレポートファイルを作成できる任意のテストフレームワークを使用して、テストケースを作成します。

  • S3 バケットを作成し、その名前を書き留めます。詳細については、Amazon S3 ユーザーガイドの「S3 バケットを作成する方法」を参照してください。

  • IAM ロールを作成し、その ARN を書き留めます。ビルドプロジェクトを作成する際は、ARN が必要です。

  • ロールに次の権限がない場合は、追加します。

    { "Effect": "Allow", "Resource": [ "*" ], "Action": [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases" ] }

    詳細については、「テストレポートオペレーションのアクセス許可」を参照してください。

ステップ 1: レポートグループを作成

  1. CreateReportGroupInput.json という名前のファイルを作成します。

  2. S3 バケットに、テスト結果をエクスポートするフォルダを作成します。

  3. 以下を CreateReportGroupInput.json にコピーします。<bucket-name> で、S3 バケットの名前を使用します。<path-to-folder> で、S3 バケット内のフォルダへのパスを入力します。

    { "name": "<report-name>", "type": "TEST", "exportConfig": { "exportConfigType": "S3", "s3Destination": { "bucket": "<bucket-name>", "path": "<path-to-folder>", "packaging": "NONE" } } }
  4. CreateReportGroupInput.json が含まれているディレクトリで次のコマンドを実行します。

    aws codebuild create-report-group --cli-input-json file://CreateReportGroupInput.json

    出力は次のようになります。reportGroup の ARN を書き留めます。これは、このレポートグループを使用するプロジェクトを作成するときに使用します。

    { "reportGroup": { "arn": "arn:aws:codebuild:us-west-2:123456789012:report-group/<report-name>", "name": "<report-name>", "type": "TEST", "exportConfig": { "exportConfigType": "S3", "s3Destination": { "bucket": "<s3-bucket-name>", "path": "<folder-path>", "packaging": "NONE", "encryptionKey": "arn:aws:kms:us-west-2:123456789012:alias/aws/s3" } }, "created": 1570837165.885, "lastModified": 1570837165.885 } }

ステップ 2: レポートグループによるプロジェクトの設定

レポートを実行するには、まずレポートグループで構成された CodeBuild ビルドプロジェクトを作成します。レポートグループに指定されたテストケースは、ビルドの実行時に実行されます。

  1. buildspec.yml という名前の buildspec ファイルを作成します。

  2. 次のYAMLを buildspec.yml ファイルのテンプレートとして使用します。テストを実行するコマンドを必ず含めてください。reports セクションで、テストケースの結果を含むファイルを指定します。これらのファイルは、CodeBuild でアクセスできるテスト結果を保存します。作成から 30 日後に有効期限が切れます。これらのファイルは、S3 バケットにエクスポートする生のテストケース結果ファイルとは異なります。

    version: 0.2 phases: install: runtime-versions: java: openjdk8 build: commands: - echo Running tests - <enter commands to run your tests> reports: <report-name-or-arn>: #test file information files: - '<test-result-files>' base-directory: '<optional-base-directory>' discard-paths: false #do not remove file paths from test result files
    注記

    既存のレポートグループの ARN の代わりに、作成されていないレポートグループの名前を指定することもできます。ARN の代わりに名前を指定すると、CodeBuild はビルドの実行時にレポートグループを作成します。この名前には、プロジェクト名と buildspec ファイルで指定した名前が project-name-report-group-name の形式で含まれます。詳細については、「テストレポートの作成」および「Report group naming」を参照してください。

  3. project.json という名前のファイルを作成します。このファイルには、create-project コマンドの入力が含まれます。

  4. 次の JSON を project.json にコピーします。source で、ソースファイルを含むリポジトリのタイプと場所を入力します。serviceRole で、使用しているロールの ARN を指定します。

    { "name": "test-report-project", "description": "sample-test-report-project", "source": { "type": "CODECOMMIT|CODEPIPELINE|GITHUB|S3|BITBUCKET|GITHUB_ENTERPRISE|NO_SOURCE", "location": "<your-source-url>" }, "artifacts": { "type": "NO_ARTIFACTS" }, "cache": { "type": "NO_CACHE" }, "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/standard:5.0", "computeType": "small" }, "serviceRole": "arn:aws:iam::<your-aws-account-id>:role/service-role/<your-role-name>" }
  5. project.json が含まれているディレクトリで次のコマンドを実行します。これにより、test-project という名前のプロジェクトが作成されます。

    aws codebuild create-project --cli-input-json file://project.json

ステップ 3: レポートの実行と結果の表示

このセクションでは、前に作成したプロジェクトのビルドを実行します。ビルドプロセス中に、CodeBuild は、テストケースの結果を含むレポートを作成します。レポートは、指定したレポートグループに含まれます。

  1. ビルドを開始するには、次のコマンドを実行します。「test-report-project」は、上記で作成されたビルドプロジェクトの名前です。出力に表示されるビルド ID を書き留めます。

    aws codebuild start-build --project-name test-report-project
  2. 次のコマンドを実行して、レポートの ARN を含むビルドに関する情報を取得します。<build-id> で、ビルド ID を指定します。出力の「reportArns」プロパティのレポート ARN を書き留めます。

    aws codebuild batch-get-builds --ids <build-id>
  3. 次のコマンドを実行して、レポートの詳細を取得します。<report-arn> で、レポート ARN を指定します。

    aws codebuild batch-get-reports --report-arns <report-arn>

    出力は次のようになります。このサンプル出力は、成功、失敗、スキップされたテスト、エラーの結果、または不明なステータスを返したテストの数を示しています。

    { "reports": [ { "status": "FAILED", "reportGroupArn": "<report-group-arn>", "name": "<report-group-name>", "created": 1573324770.154, "exportConfig": { "exportConfigType": "S3", "s3Destination": { "bucket": "<amzn-s3-demo-bucket>", "path": "<path-to-your-report-results>", "packaging": "NONE", "encryptionKey": "<encryption-key>" } }, "expired": 1575916770.0, "truncated": false, "executionId": "arn:aws:codebuild:us-west-2:123456789012:build/<name-of-build-project>:2c254862-ddf6-4831-a53f-6839a73829c1", "type": "TEST", "arn": "<report-arn>", "testSummary": { "durationInNanoSeconds": 6657770, "total": 11, "statusCounts": { "FAILED": 3, "SKIPPED": 7, "ERROR": 0, "SUCCEEDED": 1, "UNKNOWN": 0 } } } ], "reportsNotFound": [] }
  4. レポートのテストケースに関する情報を一覧表示するには、次のコマンドを実行します。<report-arn> で、レポートの ARN を指定します。オプションの --filter パラメータでは、(SUCCEEDEDFAILEDSKIPPEDERROR、または UNKNOWN) の 1 つのステータス結果指定できます。

    aws codebuild describe-test-cases \ --report-arn <report-arn> \ --filter status=SUCCEEDED|FAILED|SKIPPED|ERROR|UNKNOWN

    出力は次のようになります。

    { "testCases": [ { "status": "FAILED", "name": "Test case 1", "expired": 1575916770.0, "reportArn": "<report-arn>", "prefix": "Cucumber tests for agent", "message": "A test message", "durationInNanoSeconds": 1540540, "testRawDataPath": "<path-to-output-report-files>" }, { "status": "SUCCEEDED", "name": "Test case 2", "expired": 1575916770.0, "reportArn": "<report-arn>", "prefix": "Cucumber tests for agent", "message": "A test message", "durationInNanoSeconds": 1540540, "testRawDataPath": "<path-to-output-report-files>" } ] }
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.