• 앞에서 살펴본 새로운 참석자 API는 명확하게 테스트하고 검증해야함
  • API 구현의 핵심은 테스트라고 확신
    • 다양한 조건에 대한 동작 및 높은 품질을 확신

테스트 전략

계약 테스트

  • contract test

API 컴포넌트 테스트

API 통합 테스트

  • 개발중인 모듈과 그 외 외부 의존성 사이 경계를 넘는 테스트
  • 레거시 컨퍼런스 시스템이 새 참석자 API에 올바른 요청을 보내고 응답을 제대로 처리하는지 확인
  • 스텁 서버
    • 계약 테스트를 사용한다면 자동으로 생성된 스텁서버를 사용가능
    • 직접 구현하는 방식도 있음, 이때는 레코더를 이용해 실제 서비스의 응답/요청을 기록하고 스텁서버에서 이를 활용해 똑같은 요청에 대해 같은 응답을 반환하는 방식으로 스텁서버를 구현가능
  • Testcontainers

종단 간 테스트

  • 테스트 서비스와 그 의존성(인프라트스럭처 포함)이 함께 어우러져 의도대로 동작하는지 검증하는 방식
  • 레거시 컨퍼런스, 새 참석자 서비스, 데이터베이스를 함께 테스트하는것에 해당