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

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

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

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

チュートリアル: Cypress end-to-end でテストをセットアップ

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

既存のAmplifyアプリにテストを追加

テストステップを使用して、ビルド時に任意のテストコマンドを実行できます。E2Eテストの場合、Amplify HostingはCypressとのより深い統合を提供し、テスト用のUIレポートを生成できます。Cypress テストを既存のアプリに追加するには、amplify.ymlビルド設定を次の値で更新します。

test: phases: preTest: commands: - npm ci - npm install wait-on - npm install pm2 - npm install mocha@5.2.0 mochawesome mochawesome-merge mochawesome-report-generator - npx pm2 start npm -- start - 'npx wait-on --timeout 60 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 - npx pm2 kill artifacts: baseDirectory: cypress configFilePath: '**/mochawesome.json' files: - '**/*.png' - '**/*.mp4'

テストを無効にする

「テスト」amplify.yml 構成がビルド設定に追加されると、テストステップはすべてのビルド、すべてのブランチで実行されます。テストの実行をグローバルに無効化したい場合や、特定のブランチのみのテストを実行したい場合は、USER_DISABLE_TESTS環境変数を使用してビルド設定を変更せずに実行できます。

すべてのブランチのテストをグローバルに無効にするには、USER_DISABLE_TESTStrueすべてのブランチの値をに設定した環境変数を追加します。次の例では、すべてのブランチでテストが無効になっています。

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

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