E2E isolation loop

앱 초기화부터 데이터 정리까지 기준선을 둔다

E2E 테스트는 실제 흐름을 넓게 확인하므로, 준비와 정리 기준이 흐리면 실패 원인을 좁히기 어렵다.

한 케이스를 지나가는 운영 단계

stable harness
1

부팅

TestingModule을 compile하고 앱 인스턴스를 만든다.

2

전역 설정

ValidationPipe, prefix, filter를 실제 앱과 맞춘다.

3

시드

권한, 사용자, 도메인 데이터를 테스트마다 준비한다.

4

요청

Supertest로 method, URL, body, headers를 보낸다.

5

정리

DB 상태와 앱 연결을 닫아 다음 실행을 격리한다.

beforeAll

앱과 모듈 구성

AppModule import, provider override, app.init을 모아 둔다.

beforeEach

데이터 시작점

각 테스트가 같은 seed와 권한 상태에서 출발하게 한다.

afterAll

리소스 종료

app.close()와 DB connection close를 빠뜨리지 않는다.

기준
확인할 것
문제가 생기면
목표
앱 설정
main.ts와 같은 pipe
validation 결과가 다름
실제 요청 경로 재현
데이터
seed, cleanup 쌍
순서 의존 실패
반복 실행 안정성
외부 경계
overrideProvider 명시
네트워크나 비용 의존
결정적인 테스트