本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 end-to-end 賽普拉斯測試添加到您 Amplify 應用程序
您可以在 Amplify 應用程式的測試階段執行 end-to-end (E2E) 測試,以便在將程式碼推送至生產環境之前 catch 回歸。測試階段可以在組建規格 YAML 中進行配置。目前,您只能在建置期間執行 Cypress 測試架構。
教程:使用賽普拉斯設置 end-to-end測試
Cypress 是一個 JavaScript基於測試框架,允許您在瀏覽器上運行 E2E 測試。如需示範如何設定 E2E 測試的教學課程,請參閱使用 Amplify 執行完整堆疊 CI/CD 部署的 end-to-end Cypress 測試
將測試新增至您現有的 Amplify 應用程式
您可以通過在 Amplify 控制台中更新應用程序的構建設置,將 Cypress 測試添加到現有的應用程序。組建規格 YAML 包含組建命令集合,以及 Amplify 用來執行組建的相關設定。使用test
步驟在構建時運行任何測試命令。對於 E2E 測試,Amplify 託管提供了與賽普拉斯的更深入的集成,使您可以為測試生成 UI 報告。
下列清單說明測試設定及其使用方式。
- 預測
-
安裝執行 Cypress 測試所需的相依性。Amplify 託管使用 mochawesome
生成報告以查看您的測試結果,並等待在構建過程 中設置本地主機服務器。 - test
-
運行柏樹命令來使用 mochawesome 執行測試。
- 後測
-
該報告是從輸出 JSON 生成的。請注意,如果您使用的是 Yarn,您必須以靜音模式執行此指令,才能產生 mochawesome 報告。對於 Yarn,您可以使用以下命令。
yarn run --silent mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json
- 人工藝品 > 基本目錄
執行測試的目錄。
- 人工藝品 > configFilePath
生成的測試報告數據。
- 人工因素 > 檔案
生成的工件(屏幕截圖和視頻)可供下載。
下列範例摘錄自組建規格amplify.yml
檔案,說明如何將 Cypress 測試新增至您的應用程式。
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'
禁用測試
將測試配置添加到amplify.yml
構建設置後,該test
步驟會在每個分支上為每個構建運行。如果您想全局禁用運行測試,或者僅對特定分支運行測試,則可以使用USER_DISABLE_TESTS環境變量而無需修改構建設置。
要全局禁用所有分支的測試,請添加所有分支的值true
為的USER_DISABLE_TESTS環境變量。下列螢幕擷取畫面顯示 Amplify 主控台中的 [環境變數] 區段,並針對所有分支停用測試。
![Amplify 控制台中的環境變量部分。](images/amplify-disable-test-global.png)
要禁用特定分支的測試,請添加所有分支的值false
為的USER_DISABLE_TESTS環境變量,然後為您要禁用的每個分支添加覆蓋值,其值為true
。在下面的屏幕截圖中,測試在主分支上被禁用,並為每隔一個分支啟用。
![Amplify 控制台中的環境變量部分。](images/amplify-disable-test-branch.png)
使用此變數停用測試會導致在建置期間完全略過測試步驟。若要重新啟用測試,請將此值設定為false
,或刪除環境變數。