- 앞에서 살펴본 새로운 참석자 API는 명확하게 테스트하고 검증해야함
- API 구현의 핵심은 테스트라고 확신
- 다양한 조건에 대한 동작 및 높은 품질을 확신
테스트 전략
계약 테스트
- contract test
API 컴포넌트 테스트
API 통합 테스트
- 개발중인 모듈과 그 외 외부 의존성 사이 경계를 넘는 테스트
- 레거시 컨퍼런스 시스템이 새 참석자 API에 올바른 요청을 보내고 응답을 제대로 처리하는지 확인
- 스텁 서버
- 계약 테스트를 사용한다면 자동으로 생성된 스텁서버를 사용가능
- 직접 구현하는 방식도 있음, 이때는 레코더를 이용해 실제 서비스의 응답/요청을 기록하고 스텁서버에서 이를 활용해 똑같은 요청에 대해 같은 응답을 반환하는 방식으로 스텁서버를 구현가능
- Testcontainers
종단 간 테스트
- 테스트 서비스와 그 의존성(인프라트스럭처 포함)이 함께 어우러져 의도대로 동작하는지 검증하는 방식
- 레거시 컨퍼런스, 새 참석자 서비스, 데이터베이스를 함께 테스트하는것에 해당