Mock dan foydalaning.Unit test — faqat test qilinayotgan funksiya yoki metod ichidagi xatti-harakatni tekshirishi kerak.
Bu degani, test vaqtida tashqi API lar, email yuborish, webhooklar qabul qilish
yoki boshqa tashqi tizimlar bilan hech qanday aloqa bo‘lmasligi kerak.
Ammo bu muammo tug‘diradi...
Agar siz tashqi API bilan ishlovchi funksiyani test qilmoqchi bo‘lsangiz, qanday yo‘l tutasiz?
1-variant:
Unit testni integratsion testga aylantiring.
Ya’ni, siz API bilan haqiqiy aloqa o‘rnatasiz va sistemangiz qanday ishlashini test qilasiz.
2-variant:
Mock kutubxonasidan foydalaning va tashqi API’ning javobini soxta qilib ko‘rsating.Mock — Michael Foord tomonidan yaratilgan kutubxona bo‘lib,u orqali siz vaqtincha istalgan funksiya yoki kutubxonani “monkey-patch” (ya’ni vaqtincha o‘zgartirish) qilishingiz mumkin.
Shunday qilib, siz tashqi API ishlayaptimi-yo‘qmi degan masalaga emas, o‘zingizning kodingizning ichki mantiqiga e’tibor berasiz.
@murodalidev ✅