Sample WebAPI and backend components for spiking Pact contract testing
HTTP API の場合 Provider となる WebAPI のテストを実行して Pact を検証、ブローカーへ結果を送信します。
非同期テストの場合、イベントハンドラーとなる Consumer とイベントを発行する Provider のテストをぞれぞれ実行して Pact を発行・検証、ブローカーへ結果を送信します。
HTTP API Provider テストの場合、予め Consumer からブローカーへ登録された Pact のタグ(e.g.master
)の有無を確認した上でタグの指定・検証を行う必要があります。
- Node.js
v12.13.0
以上 - Yarn
1.22.0
以上
yarn setup
.env.example
をコピーして .env
ファイルを作成、以下の環境変数をセットします
# Lambda environment variables
ASYNC_DOWNLOAD_MEMBERS_TOPIC_ARN=
S3_BUCKET=
# Testing environment variables
PROVIDER_BASE_URL=
PACT_BROKER_URL=
PACT_BROKER_TOKEN=
# 非同期処理の Consumer テスト
yarn test:pact-consumer
# 非同期処理の Consumer テスト結果をブローカーへ送信する
yarn test:publish
# HTTP API, 非同期処理の Provider テスト
yarn test:pact-provider