Cypress E2E design

안정적 E2E 설계

브라우저에서 실제 행동을 검증하되, 데이터와 네트워크는 예측 가능한 상태로 고정해야 실패 원인이 선명해집니다.

journey

핵심 사용자 흐름

로그인, 작성, 결제처럼 서비스 가치와 직접 연결된 성공 경로를 고릅니다.

seed

데이터 준비

테스트 전용 계정, fixture, 초기 상태를 만들어 반복 실행을 안정화합니다.

control

네트워크 제어

cy.intercept로 느린 API와 실패 응답을 의도적으로 고정합니다.

assert

사용자 관점 단언

내부 구현보다 화면에 보이는 결과와 접근 가능한 상태를 기준으로 확인합니다.

근거

실패 증거 저장

스크린샷, 비디오, 네트워크 로그를 남겨 재현 전에도 원인을 좁힙니다.

선택자는 역할 기반

버튼 텍스트와 label처럼 사용자가 인식하는 요소를 우선합니다.

기다림은 상태 기반

고정 시간보다 응답 완료, 로딩 제거, 화면 변화에 맞춥니다.

실패 경로도 작게

권한 오류와 서버 오류는 mock 응답으로 빠르게 검증합니다.