Devin.KR

테스트 데이터 준비와 격리

API 테스트의 공유 상태를 제거하고 DB 변경과 정리 범위를 검증합니다.

진도 0%

레슨

  1. 조회로 저장 결과 검증

    NULL·중복·조인 행 수를 기대 결과와 비교합니다.

  2. 실행별 데이터 식별자

    고정 계정 재사용 대신 실행별 이름 공간을 설계합니다.

  3. 실패해도 정리하는 데이터

    자신이 만든 데이터만 정리하고 타 실행 데이터를 보존합니다.

  4. 순서 변경과 롤백 확인

    실행 순서 의존과 트랜잭션 롤백을 재현합니다.

테스트 데이터 준비와 격리 미션

m05 미션 solution을 보존한 프로젝트에 실행별 fixture와 실제 MockMvc·H2 격리 검사를 추가합니다. 다중 테이블 롤백은 별도 iso_users·iso_profiles 저장 모델에서 확인합니다.

요구사항

  • m05 API 테스트에 실행별 fixture와 정리 절차를 연결합니다.
  • 준비·검증 중 실패를 주입해 자신이 생성한 데이터의 정리를 확인합니다.
  • 자기 실행·다른 실행·기존 데이터의 ID를 구분하고 SQL 증거를 남깁니다.

완료 기준

  • 정방향·역방향·지정 seed 순서의 결과가 일치합니다.
  • 실패 주입 뒤 자기 실행 잔여 데이터가 0행이고 다른 실행 데이터는 유지됩니다.
  • 중간 저장 오류 뒤 관련 사용자·프로필 행이 함께 롤백됩니다.
  • check.sh는 이전 API 회귀 검사, Node 정리 5개, IsolationTest 4개와 보존된 Java API 검사를 실행합니다.
  • 정방향·역방향·seed 17은 각각 signup·duplicate·login을 독립 준비하며 SQL 이메일 기준 집합을 보존합니다. 실제 TCP·UI·병렬 실행은 이 검사 범위 밖입니다.
bash check.sh
미션 시작 코드
모범 답안모범 답안 내려받기

검토 기준

  • 기대 결과를 합의한 요구사항과 연결해 설명합니다.
  • 실패 증거와 제외한 범위의 근거를 다른 사람이 재현할 수 있게 기록합니다.