کتاب صوتی Typescript: استفاده از Mocha
TypeScript: تست حرفهای با Mocha - آموزش جامع TypeScript: تست حرفهای با Mocha - آموزش جامع معرفی دوره آیا به دنبال ارتقای مهارتهای برنامهنویسی خود و نوشتن کدهای TypeScript تمیزتر، قابل اطمینانتر و...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Typescript: استفاده از Mocha
موضوع کلی: برنامه نویسی
موضوع میانی: تایپ اسکریپت (TypeScript)
📋 سرفصلهای دوره
- 1. مقدمه دوره و اهداف یادگیری
- 2. چرا تست نویسی اهمیت دارد؟
- 3. انواع تست: واحد (Unit)، یکپارچهسازی (Integration)، انتها به انتها (End-to-End)
- 4. معرفی Mocha به عنوان یک فریمورک تست
- 5. مروری سریع بر تایپ اسکریپت: چرا تایپ اسکریپت؟
- 6. نصب و راهاندازی محیط توسعه (Node.js, npm, VS Code)
- 7. ایجاد اولین پروژه تایپ اسکریپت (`tsconfig.json`)
- 8. مبانی تایپها در تایپ اسکریپت (string, number, boolean)
- 9. کار با آرایهها و Tupleها در تایپ اسکریپت
- 10. معرفی Interface و Type Alias
- 11. توابع و انواع آنها در تایپ اسکریپت
- 12. مبانی کلاسها و وراثت در تایپ اسکریپت
- 13. ماژولها در تایپ اسکریپت (Import/Export)
- 14. راهاندازی Mocha و تایپ اسکریپت در یک پروژه
- 15. نصب پکیجهای مورد نیاز (`mocha`, `typescript`, `ts-node`, `@types/mocha`)
- 16. نوشتن اولین تست با Mocha و تایپ اسکریپت
- 17. ساختار یک فایل تست: `describe` و `it`
- 18. اجرای تستها از طریق خط فرمان
- 19. معرفی کتابخانههای Assertion: چرا به آنها نیاز داریم؟
- 20. آشنایی با کتابخانه Chai
- 21. راهاندازی Chai در پروژه تایپ اسکریپت
- 22. استفاده از `expect` در Chai برای Assertion
- 23. استفاده از `should` در Chai برای Assertion
- 24. استفاده از `assert` در Chai برای Assertion
- 25. مقایسه سبکهای BDD (`expect`/`should`) و TDD (`assert`)
- 26. مفهوم Hooks در تست نویسی
- 27. کار با `before()` و `after()`
- 28. کار با `beforeEach()` و `afterEach()`
- 29. تست کردن توابع ساده و خالص (Pure Functions)
- 30. سازماندهی تستها با `describe` های تودرتو
- 31. اجرای تنها یک تست خاص با `.only()`
- 32. نادیده گرفتن یک تست با `.skip()`
- 33. تست کردن خروجیهای مختلف یک تابع
- 34. تست کردن مقادیر Truthy و Falsy
- 35. تست کردن برابری عمیق (Deep Equality) در آبجکتها و آرایهها
- 36. پیکربندی اسکریپتهای تست در `package.json`
- 37. تست کردن کلاسها و متدهای آنها
- 38. تست کردن سازنده (Constructor) کلاس
- 39. تست کردن Property های یک کلاس
- 40. کار با `this` در تستها و توابع Arrow
- 41. تست کردن وراثت و رفتار کلاسهای فرزند
- 42. تست کردن متدهای استاتیک
- 43. مفهوم مدیریت خطا در تست
- 44. تست کردن پرتاب خطا (Throwing Errors) با Chai
- 45. تست کردن انواع خاصی از خطاها
- 46. مقدمهای بر تست کدهای ناهمزمان (Asynchronous)
- 47. تست کدهای مبتنی بر Callback و پارامتر `done`
- 48. تست کدهای مبتنی بر Promise
- 49. استفاده از `chai-as-promised` برای تستهای خواناتر
- 50. تست کدهای ناهمزمان با استفاده از `async/await`
- 51. مدیریت خطاهای ناهمزمان در تستها
- 52. افزایش Timeout برای تستهای طولانی
- 53. مقدمهای بر Mocking، Stubbing و Spying
- 54. تفاوت بین Mock، Stub و Spy
- 55. معرفی کتابخانه Sinon.js
- 56. راهاندازی Sinon.js در پروژه تایپ اسکریپت
- 57. استفاده از Spy برای نظارت بر فراخوانی توابع
- 58. Assertion روی Spy ها: `calledOnce`, `calledWith`
- 59. استفاده از Stub برای جایگزینی رفتار یک تابع
- 60. کنترل خروجی یک تابع با Stub
- 61. بازگرداندن Promise های موفق یا ناموفق با Stub
- 62. استفاده از Mock برای انتظارات پیچیدهتر
- 63. بازیابی رفتار اصلی با `restore()`
- 64. مفهوم Sandbox در Sinon برای پاکسازی خودکار
- 65. تست ماژولها و وابستگیهای آنها
- 66. استفاده از `proxyquire` یا `ts-mock-imports` برای Mock کردن ماژولها
- 67. تست کدهایی که با فایل سیستم (File System) کار میکنند
- 68. تست کدهایی که درخواست شبکه (HTTP Request) ارسال میکنند
- 69. مقدمهای بر پوشش کد (Code Coverage)
- 70. چرا Code Coverage مهم است؟
- 71. راهاندازی `nyc` (Istanbul) برای پروژههای تایپ اسکریپت
- 72. تولید گزارشهای پوشش کد
- 73. تحلیل گزارش HTML پوشش کد
- 74. تعیین حد آستانه برای پوشش کد
- 75. گزارشدهندهها (Reporters) در Mocha
- 76. تغییر گزارشدهنده پیشفرض (`spec`, `dot`, `nyan`)
- 77. ایجاد گزارشهای قابل استفاده در CI/CD (مانند `mocha-junit-reporter`)
- 78. توسعه آزمون محور (Test-Driven Development - TDD) چیست؟
- 79. چرخه TDD: قرمز، سبز، بازنویسی (Red-Green-Refactor)
- 80. پیادهسازی یک قابلیت ساده با رویکرد TDD
- 81. توسعه رفتار محور (Behavior-Driven Development - BDD) چیست؟
- 82. تفاوتهای TDD و BDD در عمل
- 83. نوشتن تستهای BDD-Style با Mocha و Chai
- 84. بهترین شیوهها برای نامگذاری تستها
- 85. الگوی Arrange-Act-Assert (AAA) در نوشتن تستها
- 86. چگونه تستهای خوانا و قابل نگهداری بنویسیم
- 87. ساختار بهینه پوشهها برای فایلهای تست
- 88. جدا کردن تستهای واحد از تستهای یکپارچهسازی
- 89. مفهوم تستهای یکپارچهسازی (Integration Tests)
- 90. نوشتن یک تست یکپارچهسازی ساده با Mocha
- 91. تست تعامل بین چند کلاس یا ماژول
- 92. تست کردن API Endpoint ها با `supertest`
- 93. راهاندازی `supertest` و `chai-http`
- 94. ارسال درخواست GET و تست کردن پاسخ
- 95. ارسال درخواست POST با بدنه (Body) و تست کردن آن
- 96. تست کردن کدهای وضعیت (Status Codes) و هدرها (Headers)
- 97. ادغام تستها با پایپلاین CI/CD
- 98. ایجاد یک فایل کانفیگ ساده برای GitHub Actions
- 99. اجرای خودکار تستها در هر Push
- 100. عیبیابی تستهای ناموفق در محیط CI
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Backend
Frontend
JavaScript
Mocha
Node.js
Programming
TypeScript
Web Development
آموزش TypeScript
برنامه نویسی
بک اند
تست نویسی
توسعه وب
جاوا اسکریپت
فرانت اند
واحد تست
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.