Add end-to-end Amplify 앱에 대한 사이프러스 테스트 - AWS Amplify호스팅

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Add end-to-end Amplify 앱에 대한 사이프러스 테스트

실행할 수 있습니다 end-to-end (E2E) 는 Amplify 앱의 테스트 단계에서 테스트하여 코드를 프로덕션으로 푸시하기 전에 회귀를 포착합니다. 테스트 단계는 빌드 사양 YML에서 구성할 수 있습니다. 현재는 빌드 중에 Cypress 테스트 프레임워크만 실행할 수 있습니다.

자습서: 설정 end-to-end사이프러스와 함께 테스트

사이프러스는 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'
  • 사전 테스트- Cypress 테스트를 실행하는 데 필요한 모든 종속성을 설치합니다. Amplify Hosting모카 굉장보고서를 생성하여 테스트 결과를 볼 수 있습니다.대기빌드 중에 로컬 호스트 서버를 설정합니다.

  • 테스트를 수행합니다- 사이프러스 명령을 실행하여 mochawesome 을 사용하여 테스트를 실행합니다.

  • 사후 테스트- 모차어썸 보고서는 출력 JSON에서 생성됩니다.

  • artifacts > 기본 디렉토리- 테스트가 실행되는 디렉터리입니다.

  • artifacts>configFilePath- 생성된 테스트 보고서 데이터입니다.

  • artifacts>files- 생성된 아티팩트 (스크린샷 및 비디오) 를 다운로드할 수 있습니다.

테스트 비활성화

“test” 컨피그레이션이 사용자amplify.yml빌드 설정에서 테스트 단계는 모든 빌드, 모든 브랜치에서 실행됩니다. 테스트 실행을 전역적으로 비활성화하거나 특정 브랜치에 대해서만 테스트를 실행하려는 경우USER_DISABLE_TESTS환경 변수를 사용하여 빌드 설정을 수정하지 않고 이 작업을 수행할 수 있습니다.

아래 번호로 일정하게 높입니다.세계적으로모든 브랜치에 대한 테스트를 비활성화하고USER_DISABLE_TESTS값이 인 환경 변수true모든 지사에 적용됩니다. 다음 예제에서는 모든 분기에 대해 테스트가 비활성화되었습니다.

에 대한 테스트를 비활성화하려면특정 브랜치를 추가합니다.USER_DISABLE_TESTS값이 인 환경 변수false모든 브랜치에 대해 다음 값을 사용하여 비활성화하려는 각 브랜치에 대한 재정의를 추가합니다.true. 다음 예에서는 “main” 분기에서 테스트가 비활성화되고 다른 모든 분기에 대해 테스트가 사용 설정됩니다.

이 변수를 사용하여 테스트를 비활성화하면 빌드 중에 테스트 단계를 모두 건너뜁니다. 테스트를 다시 활성화하려면 이 값을 로 설정합니다.false또는 환경 변수를 삭제합니다.