هنگام کار با API ها بین تیم ها یا شرکای خارجی، بسیار مهم است که فرمت درخواست ها و پاسخ ها قابل پیش بینی باشد. تست قرارداد به شما اجازه می دهد تا تأیید کنید که هر دو طرف - مشتری و سرور - با ساختار مبادله موافق هستند و در هنگام به روز رسانی آن را نقض نمی کنند.
ما تست های قرارداد را اجرا می کنیم که قبل از رفتن به تولید، به طور خودکار انطباق API با مستندات یا انتظارات مصرف کننده را بررسی می کند.
قرارداد API چیست
قرارداد توافقی است که تعریف میکند:- کدام فیلدها شامل درخواست و پاسخ هستند
- چه فرمت های داده مجاز است
- کدام کدهای وضعیت بازگردانده می شوند
- چه پارامترهای اجباری مورد نیاز است
نقض قرارداد = شکست احتمالی مشتری یا خدمات.
چگونه کار می کند
| حزب | آنچه آزمایش می شود |
|---|---|
| ارائه دهنده (API) | API باید انتظارات مشتری برای ساختار پاسخ را برآورده کند |
| مشتری (مصرف کننده) | مشتری انتظار یک طرح خاص را دارد - آزمون بررسی می کند که آن برآورده شده است |
| دو طرفه | تست دو طرفه: هر دو مشتری و سرور با قرارداد موافقت می کنند |
ابزار مورد استفاده: Pact، Spring Cloud Contract، Dredd، Postman Contract Test.
مزایای تست قرارداد
شناسایی عدم انطباق قبل از تخلیه- محافظت در برابر تغییرات «خاموش» که مشتریان را می شکند
- به روز رسانی نسخه های API با خیال راحت
- افزایش اعتماد بین تیم های توسعه
- ثبت تاریخچۀ تغییر قرارداد
چگونه پیاده سازی می کنیم
قراردادهای OpenAPI/Pact را تعریف کنید- ادغام CI با تست خودکار اجرا می شود در هر ارتکاب
- تجسم و تاریخچه تغییرات قرارداد
- مرحله بندی/تولید
- قراردادهای نشر برای انتگرال های خارجی
جایی که بسیار مهم است
میکروسرویس های مسئولیت مشترک- پلت فرم با ادغام B2B خارجی
- کار بر روی API ها با دستورات مستقل چندگانه
- سیستم های بحرانی که در آن خطا غیر قابل قبول است (امور مالی، خدمات عمومی)
تست قرارداد یک پل قابل اعتماد بین سرور و مشتری است. ما به شما کمک خواهیم کرد که فرایندی را ایجاد کنید که در آن هیچ بروزرسانی ادغام را مختل نمی کند و اشکالات غیر منتظره ای را به همراه نمی آورد.
تماس با ما
لطفاً فرم زیر را پر کنید، در اسرع وقت پاسخ خواهیم داد.