피드로 돌아가기
Dev.toBackend
원문 읽기
Playwright Fixture 체이닝을 통한 API 인증 로직의 추상화 및 테스트 격리 구현
Auth & Sessions for the API Layer (Playwright + TypeScript, Ch.12)
AI 요약
Context
API 테스트 시 모든 요청에 인증 토큰을 수동으로 포함해야 하는 반복적 코드 발생 및 테스트 간 상태 공유로 인한 간섭 위험 존재. 인증된 요청과 비인증 요청을 명확히 구분하여 경계 조건(Boundary Condition)을 검증해야 하는 요구사항 발생.
Technical Solution
mergeTests와.extend를 활용한authedApiFixture 체이닝 구조 설계testUser및apiFixture에 의존성을 부여하여 로그인 프로세스와 토큰 획득 로직을 자동화request.newContext의extraHTTPHeaders설정을 통한 요청별 인증 헤더 주입 자동화- Test-scoped Fixture 설계를 통한 테스트 케이스별 독립적인 사용자 세션 보장 및 상호 간섭 차단
api(익명)와authedApi(인증) 클라이언트를 공존시켜 인증 유무에 따른 API 응답 차이 검증 구조 구축dispose()메서드를 통한 테스트 종료 후 API 컨텍스트 자원 해제 처리
실천 포인트
1. 인증 토큰 주입 로직을 개별 테스트 케이스가 아닌 Fixture 수준에서 처리하고 있는가?
2. Test-scoped 설정을 통해 병렬 테스트 실행 시 사용자 세션 간 격리가 보장되는가?
3. 인증 성공 케이스뿐만 아니라 비인증 요청에 대한 401 Unauthorized 응답 검증 로직이 포함되었는가?
4. 사용 완료한 API 컨텍스트를 명시적으로 dispose 하여 메모리 누수를 방지하고 있는가?