Contract Test とは?
contract test は、サービスの consumer と provider の間の相互作用が、API のリクエストとレスポンスの形状のような合意された契約に準拠していることを検証します。consumer は期待するものを定義し、provider はその期待に対してテストされます。これは両方のシステムを一緒に立ち上げることなく、破壊的なインターフェース変更を捕捉します。
なぜ重要か
すべてのサービスを一緒に実行する統合テストは遅く flaky ですが、それでもチームは provider の変更が consumer を壊さないことを知る必要があります。contract test は、各サイドを共有された契約に対して独立に検査することでその保証を安価に提供し、サービスが各自のスケジュールで deploy できるようにします。
関連する概念
- consumer-driven contract は一般的なスタイル
- フルの統合テストより高速で分離されている
- ツールには Pact がある
関連ガイド
What Is a Regression Test?A regression test verifies that previously working functionality still works after a change, catching newly i…
What Is Mutation Testing?Mutation testing measures test-suite quality by deliberately introducing bugs and checking whether the tests…
What Is a Polyrepo?A polyrepo splits a codebase across many separate repositories, typically one per service or library, each wi…