برنامه نویسی

دو هفته گذشته با TDD سرگرم شده ام- این برای تقویت اعتماد به نفس من و نحوه استفاده منطقی کد Refactor است

سلام devs! در طی دو هفته گذشته ، من مهارت های آزمایش پس زمینه خود را تیز کرده و با استفاده از Node.js ، Jest و Supertest ، در توسعه آزمایش محور (TDD) غواصی می کنم.

در اینجا تفکیک هر آنچه را که آموخته ام و تمرین کردم-به علاوه یک راهنمای گام به گام برای نحوه اجرای آن در پروژه پس زمینه خود است.

🔗 repo github: https://github.com/congomusahadama/webarb-be
🐦 توییتر/X: @1real_vee

1. توسعه آزمایش محور (TDD) بنیاد

من یاد گرفتم که TDD گردش کار سنتی را می چرخاند:
• قرمز – آزمایشی بنویسید که شکست بخورد.
• سبز – فقط کد کافی بنویسید تا آن را تصویب کنید.
• Refactor – ضمن نگه داشتن آزمایشات ، کد را تمیز کنید.

این چرخه تضمین می کند که کد این است:
• رفتار محور
• قابل اعتماد و قابل آزمایش
• با گذشت زمان تمیزتر

2. تست واحد با شوخی

تست های واحد توابع کوچک و جدا شده را هدف قرار می دهند. با استفاده از شوخی ، می توانستم:
• منطق تست مانند اعتبار سنجی ، آب و برق و کنترل کننده ها.
• از وابستگی هایی مانند پایگاه داده خودداری کنید.
• از ساختار واضح (الگوی AAA) استفاده کنید.

من از تست واحد در ماژول های AUTH و مدیریت کاربر استفاده کردم تا اطمینان حاصل شود که منطق جدا شده کاملاً آزمایش شده است.

ترتیب دادن
ورودی const = 2 ؛

عمل
نتیجه const = مربع (ورودی) ؛

ادعا کردن
انتظار (نتیجه) .tobe (4) ؛

3. تست ادغام API با Supertest

برای آزمایش رفتار در دنیای واقعی ، من از Supertest استفاده کردم:
• درخواست های HTTP (به عنوان مثال ، قرار دادن /پروفایل) را شبیه سازی کنید.
• نحوه کار مسیرها ، وسط و خدمات را با هم آزمایش کنید.
• کدهای صحیح وضعیت و پاسخ های JSON را تأیید کنید.

✅ من از آزمایش ادغام در ماژول مدیریت آرایشگر برای تأیید جریان پایان به انتها و رفتار API در چندین مؤلفه استفاده کردم.

✅ سناریوهای آزمایش شده:
• کاربر معتبر می تواند نمایه خود را به روز کند.
• برای داده های نامعتبر 400 را برمی گرداند.
• خطاهای خدمات را برطرف می کند.

الگوی AAA – ترتیب ، عمل ، ادعا

این ساختار تست های من را وضوح داد:

ترتیب دادن
داده ها ، مسخره ها و پیش شرط ها را تنظیم کنید

عمل
با عملکرد تماس بگیرید / درخواست را انجام دهید

ادعا کردن
نتیجه یا خروجی را بررسی کنید

5. مسخره و جاسوسان

من منطق پایگاه داده را با استفاده از:

jest.mock (‘../ خدمات/userService.js’ ، () => ({
UpdateProfile: jest.fn () ،
})) ؛

این به من کمک کرد:
• از ضربه زدن به DBS واقعی خودداری کنید
• رسیدگی به خطای تست
• پاسخ خدمات را کنترل کنید

6. پوشش آزمون

برای اطمینان از اینکه به اندازه کافی از کد آزمایش کردم ، استفاده کردم:

[jest –coverage ]

گزارش می دهد:
• ✅ اظهارات
• ✅ شاخه ها
• ✅ توابع
• ✅ خطوط

🎯 هدف: تست های معنی دار بنویسید – نه فقط 100 ٪ به خاطر آن.

این دو هفته یک پایه محکم به من داد:
• ذهنیت TDD
• آزمایش واحد و ادغام
• نوشتن تست های تمیز و قابل حفظ

🧑🏽‍💻 من برای انتقاد ، پیشنهادات و زمینه هایی برای بهبود – و همچنین آماده همکاری در پروژه های پس زمینه با استفاده از node.js هستم!

به من اطلاع دهید که آیا سفر TDD خود را شروع کرده اید یا می خواهید به هم وصل شوید!

🧑🏽‍💻 github: musahcongoadama
🐦 توییتر/X: @1real_vee

[](`url`)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا