개발자 도구
Angular CLI

엔드 투 엔드 테스트

엔드 투 엔드(End-to-end, E2E) 테스트는 애플리케이션 전체가 처음부터 끝까지, 즉 "끝에서 끝까지" 예상대로 동작하는지 검증하는 테스트입니다. E2E 테스트는 코드의 내부 구현 세부사항과 완전히 분리된다는 점에서 단위 테스트와 다릅니다. 일반적으로 사용자가 애플리케이션과 상호작용하는 방식을 모방해서 애플리케이션을 검증하는 데 사용합니다. 이 문서에서는 Angular CLI를 사용해서 Angular의 엔드 투 엔드 테스트를 시작하는 방법을 알아봅니다.

E2E 테스트 설정하기

Angular CLI는 Angular 애플리케이션의 엔드 투 엔드 테스트를 실행하는 데 필요한 항목을 모두 다운로드하고 설치합니다.

ng e2e

ng e2e 명령어는 먼저 프로젝트에 "e2e" 대상이 있는지 확인합니다. 이 대상을 찾지 못하면 사용할 e2e 패키지를 선택하라는 메시지를 표시하고 설정 과정을 안내합니다.

Cannot find "e2e" target for the specified project.
You can add a package that implements these capabilities.

For example:
Playwright: ng add playwright-ng-schematics
Cypress: ng add @cypress/schematic
Nightwatch: ng add @nightwatch/schematics
WebdriverIO: ng add @wdio/schematics
Puppeteer: ng add @puppeteer/ng-schematics

Would you like to add a package with "e2e" capabilities now?
❯ No
Playwright
Cypress
Nightwatch
WebdriverIO
Puppeteer

위 목록에 원하는 테스트 실행기가 없다면 ng add로 패키지를 직접 추가할 수 있습니다.

E2E 테스트 실행하기

애플리케이션에 엔드 투 엔드 테스트 설정을 마쳤다면 같은 명령어로 테스트를 실행하면 됩니다.

ng e2e

통합된 e2e 패키지로 테스트를 실행한다고 해서 특별한 과정이 추가되는 것은 아닙니다. ng e2e 명령어는 내부적으로 e2e 빌더를 실행할 뿐입니다. 언제든지 e2e라는 이름의 커스텀 빌더를 만들어서 ng e2e로 실행할 수 있습니다.

엔드 투 엔드 테스트 도구 더 알아보기

테스트 도구 자세한 내용
Cypress Cypress 시작하기
Nightwatch Nightwatch 시작하기
WebdriverIO Webdriver.io 시작하기
Playwright Playwright 시작하기
Puppeteer Puppeteer 시작하기