テストの並列実行
この記事では、Axe Watcherを使用して複数のテストランナーを利用する方法を紹介します
一部のテストフレームワークでは、デフォルトでテストを並列実行しますが、これに対応しないとアクセシビリティテストの結果に影響を及ぼす可能性があります。(Axe Developer Hubでは、最後に実行されたテストのアクセシビリティ結果のみが表示されます。)例えば、Playwrightはデフォルトでは単一のファイル内のすべてのテストを順次実行しますが、個々のテストファイルを並列で実行するためにワーカーを作成します。また、組織の継続的インテグレーションパイプラインが並列で実行されている場合や、処理を高速化するために並列ワーカーを使用してテストスイートを実行したい場合があります。
並列テストランナーを使用する場合、各テストランナーに同じ非ヌルのbuildIDを割り当てる必要があります。なぜなら、buildIDプロパティがnull(デフォルト)であると、それぞれのテストランナーの結果が同じGitコミットSHAの既存のアクセシビリティ結果を置き換えるし、Axe Developer Hubにおいて不完全なデータとなるためです。
buildIDがnullでない場合、同じbuildIDを持つ並列テストランナーがAxe Developer Hubでは単一のテストランとして表示される結果を生成できます。各テストランナーは同じ非ヌルのbuildID文字列を共有する必要があります。これにより、各テストランナーは同じbuildIDとGitコミットSHAの既存の結果に自分の結果を連結(置き換えではなく)していきます。
buildIDの値を変更するには、次を使用します:
- (JavaScript または TypeScript)
AxeConfiguration.buildIDプロパティ - (Java)
AxeWatcherOptions.setBuildId()メソッド
通常、継続的インテグレーションプロバイダーから使えるbuildID値を取得できます。例えば、以下の値を使用できます:
-
github.run_idGitHubワークフロー内で利用可能です。詳細はGitHubのドキュメントのgithubのコンテキストを参照してください。
-
CIRCLE_PIPELINE_IDCircleCIでは、上記の値はプロセスの環境から利用可能です。詳細はCircleCIのドキュメントの組み込みの環境変数を参照してください。
他の継続的インテグレーション環境で
buildIDに使用できる環境変数:
