یک سرور کوچک Express بسازید که مسیر GET /sum?a=...&b=... را دریافت کند و سپس یک تست Integration با Jest و supertest بنویسید که اپلیکیشن را بدون باز کردن پورت واقعی فراخوانی کرده و مقدار جمع را بررسی کند

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:40

0.0

برای حل این مسئله یک فایل app.js بسازید که اپ Express را تعریف و export کند و در مسیر /sum مقادیر query پارامترهای a و b را خوانده و JSON حاوی نتیجه ({ result: a+b }) برگرداند. برای تست یک فایل با Jest ایجاد کنید و از supertest استفاده کنید تا با request(app).get('/sum').query({a:1,b:2}) پاسخ 200 و بدنه درست را بررسی کنید. نکته‌ها: اپ را export کنید تا تست بدون listen کردن روی پورت اجرا شود، از async/await برای درخواست‌ها و assertions استفاده کنید و موارد مرزی مثل ورودی‌های غیرعددی را هم در تست یا کد در نظر بگیرید.

توسط پژوهشگر در 202 روز قبل ساعت 02:40
دسته بندی ها: JavaScript JavaScript for beginner
sara در 202 روز قبل ساعت 08:54

نکته مهم این است که اپ را به صورت ماژول export کنید تا بتوانید با استفاده از supertest بدون listen کردن روی پورت تست را اجرا کنید. در تست از async/await استفاده کنید و با request(app).get('/sum').query({ a: '1', b: '2' }) نتیجه و کد وضعیت 200 را بررسی کنید. برای پایداری کد، ورودی‌ها را اعتبارسنجی کنید و در صورت غیر عدد بودن یا نبودن پارامترها، پاسخ 400 بدهید و این حالت‌ها را هم در تست‌ها پوشش دهید. همچنین به پوشش edge cases مثل ورودی‌های غیر عددی یا مقادیر خالی فکر کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری