E2E baseline

E2E 테스트는 준비부터 정리까지 한 계약이다

실제 요청 경로를 넓게 검증하려면 앱 초기화, 테스트 데이터, 실패 응답, 리소스 정리를 같은 기준선 안에 묶어야 한다.

Supertest 시나리오의 기본 단계

app + request + cleanup
1

앱 부팅

AppModule을 컴파일하고 Nest 애플리케이션을 초기화한다.

2

상태 준비

사용자, 권한, 도메인 데이터를 테스트 전용으로 시드한다.

3

HTTP 호출

request(app.getHttpServer())로 실제 라우트를 친다.

4

검증과 정리

응답, 저장 상태, app.close, DB 정리를 함께 확인한다.

성공 경로

상태 코드와 응답 본문

200, 201, JSON shape, 메시지를 사용자 시나리오 기준으로 검증한다.

실패 경로

404, 400, 인증 실패

존재하지 않는 경로와 잘못된 payload도 명시적으로 테스트한다.

데이터

테스트 전용 상태

실행 순서가 바뀌어도 같은 결과가 나오도록 데이터를 격리한다.

자원

닫히는 연결

앱과 DB 연결이 닫혀야 CI가 다음 작업으로 넘어간다.

책임
코드 위치
실패하면 볼 곳
앱 초기화
beforeAll
모듈 import, 전역 설정
요청 검증
it block
method, URL, body, status
리소스 정리
afterAll
app.close, DB connection