کتاب Typescript: استفاده از Mocha با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
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
تگها:
Backend
Frontend
JavaScript
Mocha
Node.js
Programming
TypeScript
Web Development
آموزش TypeScript
برنامه نویسی
بک اند
تست نویسی
توسعه وب
جاوا اسکریپت
فرانت اند
واحد تست
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.