end-to-end サイプレステストをAmplifyアプリに追加する - AWS Amplifyホスティング

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

end-to-end サイプレステストをAmplifyアプリに追加する

Amplify アプリのテストフェーズで end-to-end (E2E) テストを実行して、コードを本番環境にプッシュする前にリグレッションcatch できます。テストフェーズはビルド仕様 YML で設定できます。現在、ビルド中に実行できるのはサイプレステストフレームワークのみです。

チュートリアル: end-to-endサイプレスでテストを設定する

Cypress は、ブラウザで E2E JavaScript テストを実行できるベースのフレームワークです。このチュートリアルでは、E2E テストをゼロからセットアップする方法を示します。

既存の 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すべてのブランチの値を持つ環境変数を追加し、無効にする各ブランチの値でオーバーライドを追加しますtruefalse次の例では、テストは「メイン」ブランチでは無効にされ、他のすべてのブランチでは有効になっています。

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