翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
end-to-end サイプレステストをAmplifyアプリに追加する
Amplify アプリのテストフェーズで end-to-end (E2E) テストを実行して、コードを本番環境にプッシュする前にリグレッションcatch できます。テストフェーズはビルド仕様 YML で設定できます。現在、ビルド中に実行できるのはサイプレステストフレームワークのみです。
チュートリアル: end-to-endサイプレスでテストを設定する
Cypress は、ブラウザで E2E JavaScript テストを実行できるベースのフレームワークです。このチュートリアルでは
既存の Amplify アプリにテストを追加
テストステップを使用して、ビルド時に任意のテストコマンドを実行できます。E2Eテストの場合、Amplify Hostingはサイプレスとのより緊密な統合を提供しているため、テスト用のUIレポートを生成できます。サイプレステストを既存のアプリに追加するには、amplify.yml
ビルド設定を次の値で更新します。
test: phases: preTest: commands: - npm ci - npm install -g pm2 - npm install -g wait-on - npm install mocha mochawesome mochawesome-merge mochawesome-report-generator - pm2 start npm -- start - wait-on http://localhost:3000 test: commands: - 'npx cypress run --reporter mochawesome --reporter-options "reportDir=cypress/report/mochawesome-report,overwrite=false,html=false,json=true,timestamp=mmddyyyy_HHMMss"' postTest: commands: - npx mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json - pm2 kill artifacts: baseDirectory: cypress configFilePath: '**/mochawesome.json' files: - '**/*.png' - '**/*.mp4'
-
PreTest-サイプレステストの実行に必要なすべての依存関係をインストールします。Amplify Hosting は mochaawesome
を使用してレポートを生成し、テスト結果を表示し、ビルド中にローカルホストサーバーをセットアップするまで待ちます 。 -
test-サイプレスコマンドを実行して mochawesome を使用してテストを実行します。
-
事後テスト-mochawesome レポートは出力 JSON から生成されます。
-
アーティファクト>ベースディレクトリ-テストが実行されるディレクトリ。
-
artifacts>configFilePath-生成されたテストレポートデータ。
-
artifacts>files-生成されたアーティファクト (スクリーンショットとビデオ) をダウンロードできます。
テストを無効にする
amplify.yml
ビルド設定に「テスト」設定が追加されると、テストステップはすべてのビルド、すべてのブランチで実行されます。テストの実行をグローバルに無効にしたい場合や、特定のブランチに対してのみテストを実行したい場合は、USER_DISABLE_TESTS環境変数を使用してビルド設定を変更せずに実行できます。
すべてのブランチのテストをグローバルに無効にするには、true
for allUSER_DISABLE_TESTS ブランチの値を持つ環境変数を追加します。次の例では、すべてのブランチでテストが無効になっています。

特定のブランチのテストを無効にするには、USER_DISABLE_TESTSすべてのブランチの値を持つ環境変数を追加し、無効にする各ブランチの値でオーバーライドを追加しますtrue
。false
次の例では、テストは「メイン」ブランチでは無効にされ、他のすべてのブランチでは有効になっています。

この変数でテストを無効にすると、ビルド中にテストステップが完全にスキップされます。テストを再度有効にするには、この値をに設定するかfalse
、環境変数を削除します。