위키득계정 ↗
기술

Pact JVM

Pact JVM기술
분야
소비자 주도 계약 테스트
실행 환경
JVM
자료
Pact 계약 파일
양쪽 역할
소비자 작성과 제공자 검증
Pact JVM은 소비자가 기대하는 서비스 계약을 JVM 환경에서 작성하고 검증하는 Pact 구현이다. 소비자 검사에서 만든 상호작용 기록을 제공자 검증에 사용해 양쪽의 기대가 맞는지 확인한다.

계약을 만드는 쪽과 지키는 쪽

서비스를 호출하는 소비자는 필요한 요청과 기대 응답을 정의한다. 소비자 검사는 대역 제공자를 통해 그 기대에 맞게 코드를 사용하는지 확인하고 계약 자료를 만든다. 실제 제공자 쪽에서는 이 자료로 응답을 검증한다. 소비자 검사만 통과했다고 실제 제공자와 호환된다고 결론 내릴 수는 없다.

언어와 도구의 연결

자바와 코틀린, Groovy 등 JVM 환경의 여러 작성 방식과 테스트 프레임워크 연동을 제공한다. 제공자 검증도 빌드 도구나 테스트에서 구성할 수 있다. 계약 파일의 명세 버전과 구현 지원 범위를 맞춰야 한다. 서로 다른 언어 구현이라도 지원하는 계약 형식과 기능이 맞는지 확인한다.

계약 검사로 다루지 않는 것

계약에 기록하지 않은 동작이나 전체 업무 흐름은 별도 검사 대상이다. 메시지 상호작용을 다루는 기능도 있지만 실제 브로커의 모든 전달 특성을 재현하는 것은 아니다. 계약의 공유와 버전 선택을 관리해 어떤 조합을 검증했는지 남긴다. 현재 저장소에는 익명 사용 통계 수집과 비활성화 설정에 관한 안내도 있어 도입 환경에 맞춰 확인한다.

관련 문서

Pact JS / REST Assured / WireMock / JUnit