翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CLI コマンド codebuild-tests-run を使用する
AWS CodeBuild は、テストコマンドとテストファイルの場所を入力として受け取る CLI を提供します。これらの入力を持つ CLI は、テストファイル名に基づいて、parallelism フィールドで指定されたシャード数にテストを分割します。テストファイルのシャードへの割り当ては、シャーディング戦略によって決まります。
codebuild-tests-run \ --files-search "codebuild-glob-search '**/__tests__/*.js'" \ --test-command 'npx jest --runInBand --coverage' \ --sharding-strategy 'equal-distribution'
次の表では、codebuild-tests-run CLI コマンドのフィールドについて説明します。
| フィールド名 | タイプ | 必須またはオプション | 定義 |
|---|---|---|---|
|
|
String |
必須 |
このコマンドは、テストの実行に使用されます。 |
|
|
String |
必須 |
このコマンドは、テストファイルのリストを表示します。 AWS CodeBuild 提供されている codebuild-glob-search CLI コマンドまたは任意のファイル検索ツールを使用できます。 注記
|
|
|
列挙型 |
オプションです。 |
有効な値:
詳細については、「テスト分割について」を参照してください。 |
codebuild-tests-run CLI はまず、files-search パラメータで指定されたコマンドを使用してテストファイルのリストを識別します。その後、指定されたシャーディング戦略を使用して、現在のシャード (環境) に指定されたテストファイルのサブセットを決定します。最後に、このテストファイルのサブセットがスペース区切りリストにフォーマットされ、実行前に test-command パラメータで指定されたコマンドの末尾に追加されます。
スペース区切りリストを受け入れないテストフレームワークの場合、codebuild-tests-run CLI は CODEBUILD_CURRENT_SHARD_FILES 環境変数を通じて柔軟な代替手段を提供します。この変数には、現在のビルドシャードに指定されたテストファイルパスの改行区切りリストが含まれています。この環境変数を利用することで、さまざまなテストフレームワーク要件に簡単に適応し、スペース区切りリストとは異なる入力形式が想定される要件に対応できます。さらに、テストフレームワークの必要性に応じてテストファイル名をフォーマットすることもできます。以下は、Django フレームワークを使用した Linux での CODEBUILD_CURRENT_SHARD_FILES の使用例です。以下では、Django によりサポートされているドット表記ファイルパスを取得するために CODEBUILD_CURRENT_SHARD_FILES が使用されています。
codebuild-tests-run \ —files-search "codebuild-glob-search '/tests/test_.py'" \ —test-command 'python3 manage.py test $(echo "$CODEBUILD_CURRENT_SHARD_FILES" | sed -E "s/\//__/g; s/\.py$//; s/__/./g")' \ —sharding-strategy 'equal-distribution'
注記
CODEBUILD_CURRENT_SHARD_FILES 環境変数は codebuild-tests-run CLI のスコープ内でのみ使用できることに注意してください。
また、test-command 内で CODEBUILD_CURRENT_SHARD_FILES を使用する場合は、上の例に示すように CODEBUILD_CURRENT_SHARD_FILES を二重引用符で囲んでください。