마지막 수정:
Stanislav Anisimov
계약 테스트
Click to expand / collapse

팀 또는 외부 파트너 간의 API와 협력 할 때 요청 및 응답 형식을 예측할 수 있어야합니다. 계약 테스트를 통해 클라이언트와 서버 모두 교환 구조에 동의하고 업데이트 중에이를 위반하지 않는지 확인할 수 있습니다.

생산에 들어가기 전에 문서 또는 소비자의 기대에 대한 API 준수 여부를 자동으로 확인하는 계약 테스트를 구현합니


API 계약이란 무엇입니까

계약은 다음을 정의하는 계약입니다

요청 및 응답을 포함하는 필드

허용되는 데이터 형식

상태 코드가 반환됩니다

필수 매개 변수가 필요합니다

계약 위반 = 잠재적 고객 또는 서비스 실패.


어떻게 작동합니까

파티테스트중인 내용
공급자 (API)API는 응답 구조에 대한 클라이언트 기대치를 충족해야합니다
고객 (소비자)클라이언트가 특정 체계를 기다리고 있습니다-테스트 점검
양방향양방향 테스트: 클라이언트와 서버 모두 계약에 동의

사용 된 도구: Pact, Spring Cloud Contract, Dredd, Postman Contract Test.


계약 테스트의 이점

고갈 전에 부적합의 식별

고객을 방해하는 "자동" 변경 사항으로부터 보호

안전하게 API 버전 업데이트

개발 팀 간의 신뢰 증가

로그 계약 변경 기록


우리가 구현하는 방법

OpenAPI/Pact 계약 정의

각 커밋에서 자동 테스트 실행과 CI 통합

계약 변경의 시각화 및 이력

준비/생산

외부 통합 자에 대한 출판 계약


특히 중요한 곳

공유 책임 마이크로 서비스

외부 B2B 통합 플랫폼

다중 독립 명령으로 API 작업

오류가 허용 될 수없는 중요한 시스템 (금융, 공공 서비스)


계약 테스트는 서버와 클라이언트 간의 안정적인 브리지입니다. 업데이트가 통합을 방해하지 않고 예기치 않은 버그를 가져 오지 않는 프로세스를 구축하는 데 도움이됩니다.

인기 주제


주요 주제