Skip to main content

build-a-contract-test-suite

Build a contract test suite that verifies provider and consumer compatibility across versions, examples, errors, and deployment order. Use when independently released components share an interface.

소스 정보

저장소
protosphinx/sphinxstack
최근 소스 활동
2026년 7월 29일 13:55
감지된 SKILL.md 언어
영어
스타
3
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
build-a-contract-test-suite
category
code
description
Build a contract test suite that verifies provider and consumer compatibility across versions, examples, errors, and deployment order. Use when independently released components share an interface.
# build-a-contract-test-suite Test the behavior consumers depend on, including failures. ## When to use - Use for APIs, events, schemas, files, SDKs, queues, or database views shared across release boundaries. - Do not let provider mocks become the only evidence of provider behavior. ## Procedure 1. Inventory producers, consumers, versions, environments, owners, and compatibility policy. 2. Define request, response, event, field, error, ordering, auth, timing, and semantic obligations. 3. Capture consumer expectations as minimal versioned examples and invariants. 4. Verify expectations against the real provider implementation in a controlled environment. 5. Add optional, unknown, deprecated, invalid, timeout, pagination, duplicate, and retry cases. 6. Test old consumer with new provider and new consumer with old provider where rollout can overlap. 7. Publish results with artifact versions and block only changes that violate supported contracts. 8. Remove stale contracts through an explicit consumer retirement process. ## Done - A contract suite records provider, consumers, versions, compatibility rules, success, error, and edge cases - CI evidence verifies real-provider behavior and supported mixed-version deployment orders
GitHub에서 보기