So‘nggi tahrir:
Stanislav Anisimov
Kontrakt sinovi
Click to expand / collapse

Jamoalar yoki tashqi hamkorlar o’rtasida API bilan ishlashda so’rovlar va javoblar formati oldindan aytib bo’lmaydigan darajada bo’lishi ayniqsa muhimdir. Kontrakt test sinovlari har ikki tomon - mijoz va server almashinuv tuzilmasiga rozi ekanini va yangilanishda uni buzmasligini tekshirish imkonini beradi.

Biz API hujjatlariga yoki iste’molchining kutganlariga muvofiqligini avtomatik ravishda tekshiradigan shartnomaviy testlarni ishlab chiqarishga kiritamiz.


APIda kontrakt nima

Kontrakt - bu quyidagilarni belgilovchi bitim:
  • So’rov va javob qaysi maydonlarni o’z ichiga oladi
  • ma’lumotlarning qaysi formatlari yo’l qo’yilishi mumkin
  • qaysi status kodlari qaytariladi
  • qanday majburiy parametrlar talab etiladi

Kontraktning buzilishi = mijoz yoki servis tomonidagi potentsial nosozlik.


Bu qanday ishlaydi

TarafNima sinovdan oʻtkazilmoqda
Provayder (API)API mijozning javob tuzilmasi bo’yicha kutganlariga mos kelishi kerak
Mijoz (consumer)Mijoz muayyan sxemani kutmoqda - test uning
BidirectionalIkki tomonlama test: mijoz ham, server ham shartnomaga rozi

Foydalaniladigan asboblar: Pact, Spring Cloud Contract, Dredd, Postman Contract Tests.


Kontrakt testining afzalliklari

Deploygacha bo’lgan nomuvofiqliklarni aniqlash

Mijozlarni buzadigan «jimgina» o’zgarishlardan himoya qilish

API versiyasini xavfsiz yangilash

Ishlab chiqish jamoalari o’rtasida ishonchni oshirish

Shartnomalar o’zgarishi tarixini loglash


Qanday qilib

OpenAPI/Pact formatidagi shartnomalarni aniqlash

Har bir kommitada avtomatik test progonlari bilan CI integratsiyasi

Kontraktlarni vizuallashtirish va o’zgarishlar tarixi

Chorshanba boʻyicha boʻlish (staging/production)

Tashqi integratorlar uchun kontraktlarni e’lon qilish


Ayniqsa, qayerda muhim

Bo’lingan mas’uliyatli mikroservislar

Tashqi B2B integratsiyali platformalar

Bir nechta mustaqil buyruqlar bilan API ustida ishlash

Xatoga yo’l qo’yib bo’lmaydigan tanqidiy tizimlar (moliya, davlat xizmatlari)


Shartnomaviy test - bu server va mijoz o’rtasidagi ishonchli ko’prikdir. Biz hech qanday yangilanish integratsiyani buzmaydigan va kutilmagan xatolarga olib kelmaydigan jarayonni yaratishga yordam beramiz.

Ommabop mavzular


Asosiy mavzular