TIL

9장 마이크로서비스 테스트 1부

9.1 마이크로서비스 아키텍처 테스트 전략

9.1.1 테스트 개요

자동화 테스트 작성

목/스텁을 이용한 테스트

테스트 종류

테스트 사분면: 테스트 분류 기준

테스트 사분면은 다음 두 가지 척도로 테스트를 분류하는 방법이다.

테스트 피라미드: 테스트 역량을 집중

9.1.2 마이크로서비스 테스트

컨슈머 주도 계약 테스트

서비스 테스트: 스프링 클라우드 컨트랙트

org.springframework.cloud.contract.spec.Contract.make {
  request {
    method 'GET'
    url '/orders/1223232'
  }
  response {
    status 200
    headers {
      header('Content-type': 'application/json;charset=UTF-8')
    }
    body("{...}")
  }
}

컨슈머 계약 테스트: 메시징 API

9.1.3 배포 파이프라인

9.2 서비스 단위 테스트 작성

9.2.1 단위 테스트 작성: 엔티티

9.2.2 단위 테스트 작성: 벨류 객체

9.2.3 단위 테스트 작성: 사가

9.2.4 단위 테스트 작성 도메인 서비스

9.2.5 단위 테스트 작성 컨트롤러

9.2.6 단위 테스트 작성: 이벤트/메시지 핸들러