Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat menjalankan pengujian end-to-end (E2E) dalam fase pengujian aplikasi Amplify untuk menangkap regresi sebelum mendorong kode ke produksi. Fase pengujian dapat dikonfigurasi dalam spesifikasi buildYAML. Saat ini, Anda hanya dapat menjalankan kerangka pengujian Cypress selama pembuatan.
Cypress adalah kerangka pengujian JavaScript berbasis yang memungkinkan Anda menjalankan tes E2E di browser. Untuk tutorial yang menunjukkan cara mengatur tes E2E, lihat posting blog Menjalankan tes end-to-end Cypress untuk penerapan CI/CD fullstack Anda
Menambahkan tes Cypress ke aplikasi Amplify yang ada
Anda dapat menambahkan pengujian Cypress ke aplikasi yang sudah ada dengan memperbarui setelan build aplikasi di konsol Amplify. Spesifikasi build YAML berisi kumpulan perintah build dan setelan terkait yang Amplify gunakan untuk menjalankan build Anda. Gunakan test
langkah untuk menjalankan perintah pengujian apa pun pada waktu pembuatan. Untuk pengujian E2E, Amplify Hosting menawarkan integrasi yang lebih dalam dengan Cypress yang memungkinkan Anda membuat laporan UI untuk pengujian Anda.
Daftar berikut menjelaskan pengaturan pengujian dan bagaimana mereka digunakan.
- preTest
-
Instal dependensi yang diperlukan untuk menjalankan tes Cypress. Amplify Hosting menggunakan mochawesome
untuk menghasilkan laporan guna melihat hasil pengujian Anda dan menunggu untuk menyiapkan server localhost selama pembuatan. - pengujian
-
Jalankan perintah cypress untuk melakukan tes menggunakan mochawesome.
- postTest
-
Laporan mochawesome dihasilkan dari output. JSON Perhatikan bahwa jika Anda menggunakan Yarn, Anda harus menjalankan perintah ini dalam mode diam untuk menghasilkan laporan mochawesome. Untuk Yarn, Anda dapat menggunakan perintah berikut.
yarn run --silent mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json
- artefak> baseDirectory
Direktori dari mana tes dijalankan.
- artefak> configFilePath
Data laporan pengujian yang dihasilkan.
- artefak>file
Artefak yang dihasilkan (tangkapan layar dan video) tersedia untuk diunduh.
Contoh kutipan berikut dari amplify.yml
file spesifikasi build menunjukkan cara menambahkan pengujian Cypress ke aplikasi Anda.
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'
Mematikan pengujian untuk aplikasi atau cabang Amplify
Setelah konfigurasi pengujian ditambahkan ke setelan amplify.yml
build Anda, test
langkah berjalan untuk setiap build, di setiap cabang. Jika Anda ingin menonaktifkan pengujian secara global agar tidak berjalan, atau hanya menjalankan pengujian untuk cabang tertentu, Anda dapat menggunakan USER_DISABLE_TESTS variabel lingkungan tanpa memodifikasi setelan build Anda.
Untuk menonaktifkan pengujian secara global untuk semua cabang, tambahkan USER_DISABLE_TESTS variabel lingkungan dengan nilai true
untuk semua cabang. Tangkapan layar berikut, menunjukkan bagian Variabel lingkungan di konsol Amplify dengan pengujian dinonaktifkan untuk semua cabang.

Untuk menonaktifkan tes untuk cabang tertentu, tambahkan USER_DISABLE_TESTS variabel lingkungan dengan nilai false
untuk semua cabang, dan kemudian tambahkan penggantian untuk setiap cabang yang ingin Anda nonaktifkan dengan nilaitrue
. Pada tangkapan layar berikut, tes dinonaktifkan di cabang utama, dan diaktifkan untuk setiap cabang lainnya.

Menonaktifkan pengujian dengan variabel ini akan menyebabkan langkah pengujian dilewati sepenuhnya selama build. Untuk mengaktifkan kembali pengujian, atur nilai ini kefalse
, atau hapus variabel lingkungan.