4주차 Metadata n Event
0. 배운 사항들
인수테스트란?
사용자에게 애플리케이션을 인도할 수 있는지 검증하는 절차 (기능 구현 확인)
사용자 스토리를 검증하는 기능 테스트
사용자 스토리로 테스트할 시나리오 지정
이번 과정에서는 API 접점에서 검증하는 E2E 테스트입니다.
인수테스트를 하는 이유
테스트의 종류
단위 테스트 - 구현한 부분, 단위를 검증
통합 테스트 - 각 단위들이 유기적으로 잘 동작하는지 검증하는 테스트
E2E 테스트 - 요청과 응답 기준으로 API를 종단하는 테스트
API 테스트
시나리오 테스트
RestAssured를 이용한 인수테스트 작성
1. [실습] 구현단계들
1단계 - Metadata
2단계 - SessionFactory
3단계 - Event
2. 배운 사항
3. 구현 사항들
1단계 - 지하철 인수 테스트 (기능 스펙이 존재할 때)
지하철역 인수 테스트 작성
PR: https://github.com/next-step/atdd-subway-map/pull/813
주요 피드백 사항
인수 테스트 가독성
주석 부분에 대한 오류
Format 잘 안되어 있음
2단계 - 지하철 노선 관리 (인수 조건이 존재 할 때)
지하철 CRUD
PR: https://github.com/next-step/atdd-subway-map/pull/866
주요 피드백사항
dto는 어느 layer에서든 사용 가능하게 구현하는 부분이 맞다
DTO는 가변으로 사용한다.
도메인에서 Setter 같은 객체 메시지를 받는 interface 만들기
validation도 있으면 좋다
인수 테스트 가독성
3단계 - 지하철 구간 관리 (기능 스펙만 존재할때)
지하철 노선에 구간을 등록하는 기능을 구현 (조건 + 에러 처리)
PR: https://github.com/next-step/atdd-subway-map/pull/961
주요 피드백사항:
기획자와 QA등을 위한 '에러를 표기한다' 를 구체적인 표현으로 표기
assertThat(stations).containsExactly(두번째지하철역이름, 첫째지하철역이름, 세번째지하철역이름); 같이 조금 더 구체적인 테스트 검증
개행 컨벤션 및 주석 삭제
FirstAddSection 의 잘못된 사용을 우려해서 AddSection으로 리팩토링
Last updated