تسلط به تستنویسی با Jest ،TypeScript و Node.js
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- راهاندازی و پیکربندی Jest برای یک پروژه Node.js مبتنی بر TypeScript
- نوشتن تستهای واحد و یکپارچگی با استفاده از متدها و تطابقدهندههای اصلی Jest
- استفاده مؤثر از بدلهای تست همچون ماکها، استابها، فیکها و اسپایها
- پیادهسازی و تست مدیریت خطای مقاوم برای اپلیکیشن های دنیای واقعی
پیشنیازهای دوره
- درک اولیه از JavaScript و TypeScript. باید با توابع، متغیرها و انواع اولیه راحت باشید.
- آشنایی با Node.js و استفاده از ترمینال/خط فرمان
- یک ویرایشگر کد مانند VS Code و Node.js نصبشده روی سیستم شما
- هیچ تجربه قبلی در تستنویسی نیاز نیست - ما از پایه شروع خواهیم کرد!
توضیحات دوره
این دوره راهنمای کامل شما برای تسلط بر تستنویسی در اپلیکیشن های کاربردی مدرن Node.js با استفاده از Jest و TypeScript است. چه در حال تست توابع کمکی باشید و چه مدیریت خطاهای پیچیده سرویسها، این دوره همه چیز را با مثالهای عملی و الگوهای دنیای واقعی به شما آموزش میدهد.
ما با راهاندازی یک پروژه Node.js از ابتدا، پیکربندی TypeScript و Jest، و نوشتن نخستین تست شما شروع میکنیم. شما ساختار فایلهای تست، قراردادهای نامگذاری، و چگونگی اجرا و اشکالزدایی تستهای خاص را فرا خواهید گرفت. ما از پوشه __tests__ استفاده کرده و همچنین سازماندهی تستها در کنار ماژولها را بررسی میکنیم.
شما با متدها و الگوهای اصلی Jest کار خواهید کرد:
- ساختاربندی تست: ()describe() ،it() ،test
- تأییدها و تطابقدهندهها: expect() ،.toBe()، .toEqual() ،.toHaveLength() ،.toBeTruthy()، ().toBeFalsy
- مفاهیم تستنویسی: سیستم تحت تست (SUT)، ترتیب-عمل-ادعا (AAA)
- هوکهای چرخه عمر: beforeEach()، ()afterEach() ،beforeAll() ،afterAll
ما برای موارد زیر تست خواهیم نوشت:
- توابع کمکی: add()، subtract()، isEven()، createUser() و ()createJwtToken
- متدهای کلاس: Calculator.add() ،subtract()، isPositive()
سپس شما به بدلهای تست وارد میشوید:
Dummy، Stub، Fake، Mock و Spy
استفاده از jest.fn()، jest.mock()، jest.spyOn()، mockReturnValue()، mockResolvedValue()، mockImplementation()
متدهای بازنشانی ماک و اسپای: jest.clearAllMocks()، jest.resetAllMocks()، jest.restoreAllMocks()
مدیریت خطای پیشرفته شامل این موارد است:
- سبک اعلانی: ()expect(...).rejects.toThrow
- سبک دستوری: try/catch، fail('باید یک خطا پرتاب میکرد')
- رویههای سطح سازمانی با استفاده از:
- CustomError.throwError() ،AppCodes ،HttpCodes ،CustomLogger
شما سناریوهای دنیای واقعی را مانند موارد زیر تست خواهید کرد:
- ماک کردن سرویسها (UserRepository، NewsletterService)
- اعتبارسنجی پاسخهای خطا و لاگکردن
- تست ورودیهای نامعتبر و موارد شکست API
تا پایان دوره، شما با اطمینان تستهایی مقاوم، تمیز و با ساختاری خوب برای هر پروژه Node.js مبتنی بر TypeScript خواهید نوشت.
این دوره برای چه کسانی مناسب است؟
- این دوره برای توسعهدهندگان JavaScript یا TypeScript که میخواهند بیاموزند چگونه تستهای خودکار با کیفیت بالا را با استفاده از Jest در پروژههای Node.js بنویسند، عالی است. چه یک مبتدی در تستنویسی باشید و چه توسعهدهندهای که چند تست نوشته اما هرگز با ماک کردن، اسپای کردن یا مدیریت خطاهای دنیای واقعی احساس راحتی نکردهاید - این دوره برای شماست.
تسلط به تستنویسی با Jest ،TypeScript و Node.js
-
پیشنیازهای دوره و اطلاعات تستنویسی 01:52
-
تست واحد و اطلاعات Jest 03:12
-
مخزن دوره 00:25
-
راهاندازی پروژه: TypeScript ،Node.js و Jest 10:20
-
محل قرارگیری فایلهای تست 08:59
-
سینتکس Jest 07:55
-
SUT و AAA 01:46
-
تستهای توابع کمکی 17:18
-
تستهای کلاس 08:44
-
هوکهای Jest 04:41
-
بدلهای تست از نوع Dummy 11:17
-
شروع کار با استابها و فیکها 09:52
-
استابها و فیکها در عمل 14:55
-
چالش ری فکتور 06:04
-
استفاده از اسپایها در Jest با ()jest.spyOn 15:22
-
پاکسازی و بازنشانی ماکها در Jest 06:25
-
راهاندازی تست UserService: اسپای کردن با Jest آغاز میشود 07:04
-
Jest SpyOn در عمل – پاسخ موفق UserService 10:30
-
شبیهسازی خطاها با ()jest.spyOn در تستهای Jest 11:07
-
ماک کردن ماژولها با ()jest.mock 13:21
-
ماک کردن ماژولهای خارجی شخص ثالث و ماژولهای داخلی Node 05:20
-
مدیریت خطا در Jest: گامهای نخست 10:31
-
بررسی در استراتژیهای تست خطا 08:26
-
Jest: تست خطاهای سفارشی پرتاب شده 13:31
-
گرفتن خطاها و خاموش کردن لاگها با Jest 08:49
مشخصات آموزش
تسلط به تستنویسی با Jest ،TypeScript و Node.js
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:مقدماتی
- تعداد درس:25
- مدت زمان :03:37:58
- حجم :2.36GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy