WEBBOOK CHAPTER

테스트를 많이 말고, 위험을 정확히: 7장. Contract test로 배포 독립성을 지킨다

7장. Contract test로 배포 독립성을 지킨다

소비자가 의존하는 요청·응답 예를 계약으로 만들고 공급자가 실제 구현으로 검증한다. 공급자 전체 schema를 소비자에게 강요하지 않는다. 선택 필드, 오류 의미, content type, 상태 코드, 이벤트 schema와 순서 범위를 포함한다.

소비자 기대가 공급자 검증과 배포 판정으로 이어지는 계약 파이프라인
소비자 기대가 공급자 검증과 배포 판정으로 이어지는 계약 파이프라인

{"interaction":"reservation summary","request":{"method":"GET","path":"/reservations/r-1"},"response":{"status":200,"body":{"id":"r-1","status":"confirmed"}}}

계약 broker의 최신 성공만 보지 말고 배포할 소비자·공급자 버전 조합을 확인한다. contract test는 의미가 맞는지 자동으로 알지 못하므로 도메인 리뷰와 end-to-end 표본을 보완한다.