شبیهسازی هر نوع پاسخ API در Postman
تست کردن فرانتاند دشوار است. چالش اصلی نوشتن تست نیست؛ چالش اصلی این است که بکاند را وادار کنید پاسخهای خاصی را برگرداند.
شما به یک خطای 500 نیاز دارید. به یک لیست خالی نیاز دارید. یا به یک payload خراب. انجام این کار روی یک سرور واقعی (live) دشوار است.
از این گردش کار (workflow) استفاده کنید تا بدون دستکاری بکاند، هر پاسخی را کنترل کنید. از mock serverهای Postman و هوش مصنوعی برای ساخت دادههای خود استفاده کنید.
فرانتاند شما یک URL را فراخوانی میکند و انتظار JSON دارد. اپلیکیشن خود را به جای API واقعی، به یک mock server متصل کنید. یک mock server در واقع یک آدرس جعلی است که پاسخهای تعریفشده توسط شما را برمیگرداند. این سرور از همان endpointها و ساختاری استفاده میکند که API واقعی شما دارد.
ابزارهای مرورگر مانند Chrome DevTools یا Requestly برای بررسیهای سریع مناسب هستند، اما این ابزارها فقط روی سیستم شما کار میکنند. شما نمیتوانید آنها را با همتیمیهای خود به اشتراک بگذارید یا در یک خط لوله CI (CI pipeline) از آنها استفاده کنید. شما به یک راهکار پایدار نیاز دارید.
این مراحل را در Postman دنبال کنید:
- مجموعه (collection) API خود را باز کنید.
- برای هر درخواست، روی سه نقطه کلیک کرده و Add example را انتخاب کنید.
- یک example در واقع یک پاسخ ذخیرهشده شامل کد وضعیت (status code) و بدنه (body) است.
- برای یک endpoint چندین example ایجاد کنید: • 200 success • 404 not found • [] لیست خالی • 500 خطای سرور
مجموعه خود را به یک Mock collection تبدیل کنید. Postman یک URL جدید به شما میدهد. Base URL اپلیکیشن خود را با این mock URL جایگزین کنید. حالا فرانتاند شما با mock server صحبت میکند.
برای انتخاب اینکه کدام example توسط mock برگردانده شود، از یک request header استفاده کنید:
x-mock-response-name: [your example name]
تستهای خودکار شما میتوانند این header را ارسال کنند تا سناریوهای خاصی را اجرا کنند. این کار اجازه میدهد تا یک endpoint بدون دستکاری دادههای واقعی، تمام حالتها را تست کند.
همچنین باید از متغیرهای پویا (dynamic variables) در exampleهای خود استفاده کنید. در بدنه JSON از {{ $randomInt }} یا {{ $randomEmail }} استفاده کنید. این کار تضمین میکند که هر بار دادههای متفاوتی دریافت میکنید و به شما در پیدا کردن باگهای ناشی از ورودیهای غیرمنتظره کمک میکند.
دهها example را به صورت دستی ننویسید. از هوش مصنوعی برای انجام این کار استفاده کنید.
مجموعه خود را از طریق Postman MCP به Claude بدهید. از آن بخواهید برای هر endpoint پاسخهای نمونه (example responses) تولید کند. این شامل موارد موفقیتآمیز (success cases)، موارد مرزی (edge cases) و payloadهای نامعتبر (malformed payloads) میشود.
هوش مصنوعی دیگر فقط برای نوشتن تابع نیست؛ از آن برای ساخت ابزارهای تست خود استفاده کنید.
تیم شما چگونه با mockها برخورد میکند؟ آیا از Postman استفاده میکنید، از یک سرویس مستقل، یا منتظر بکاند میمانید؟
منبع: https://dev.to/antonkirilchuk/mock-any-api-response-in-postman-and-let-ai-build-the-collection-2le1
جامعه یادگیری اختیاری: https://t.me/GyaanSetuAi