دوره تکنیکهای پیشرفته Test Doubles در فرانتاند همراه با فلشکارت آموزشی — ارائه روی فلش مموری
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب تکنیکهای پیشرفته Test Doubles در فرانتاند
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمه: چرا به Test Doubles نیاز داریم؟
- 2. مروری بر هرم تست: Unit, Integration, E2E
- 3. مفهوم انزوا (Isolation) و وابستگیها (Dependencies) در تست
- 4. Test Double چیست؟ یک تعریف جامع
- 5. آشنایی با دستهبندی مارتین فاولر: Dummies, Stubs, Spies, Mocks, Fakes
- 6. تفاوت کلیدی بین Mock و Stub
- 7. تفاوت Spy و Mock
- 8. آمادهسازی محیط تست: Jest و Vitest
- 9. اولین Test Double: ساخت یک Stub ساده
- 10. اهمیت Test Doubles در توسعه کامپوننتمحور فرانتاند
- 11. Dummy Objects: سادهترین نوع Double و کاربردهای آن
- 12. Stub: کنترل خروجی و بازگشت مقادیر ثابت
- 13. Stub: شبیهسازی رفتار داینامیک و بازگشت مقادیر شرطی
- 14. Stub: شبیهسازی پرتاب خطا (Throwing Errors)
- 15. Stub: کار با Promiseها و شبیهسازی وضعیتهای Pending, Resolved, Rejected
- 16. Spy: نظارت بر فراخوانیها بدون تغییر رفتار
- 17. Spy: اعتبارسنجی تعداد فراخوانیهای یک تابع
- 18. Spy: اعتبارسنجی آرگومانهای ارسال شده به تابع
- 19. Mock: ترکیب Stub و Spy برای تعریف و اعتبارسنجی رفتار
- 20. Mock: تعریف انتظارات (Expectations) و اعتبارسنجی دقیق
- 21. Fake: پیادهسازیهای سبک و جایگزین برای وابستگیهای پیچیده
- 22. مثال عملی از Fake: شبیهسازی LocalStorage API
- 23. انتخاب Test Double مناسب برای هر سناریو
- 24. خلاصه و مقایسه انواع Test Doubles
- 25. مبانی Mocking در Jest: jest.fn() و jest.mock()
- 26. کار با jest.spyOn() برای جاسوسی توابع موجود
- 27. شبیهسازی ماژولهای ES6
- 28. شبیهسازی ماژولهای CommonJS
- 29. شبیهسازی تایمرها: setTimeout و setInterval
- 30. شبیهسازی تاریخ و زمان (Date)
- 31. شبیهسازی مقادیر ثابت و متغیرهای محیطی (Environment Variables)
- 32. شبیهسازی کامپوننتهای فرزند در React
- 33. Mock کردن هوکهای سفارشی (Custom Hooks) در React
- 34. کار با React Context: شبیهسازی Providerها
- 35. شبیهسازی کامپوننتها در Vue با Vue Test Utils
- 36. Mock کردن Dependencies در Vue Composition API
- 37. تست استورهای Pinia/Vuex با دادههای Mock شده
- 38. شبیهسازی سرویسها در Angular با Dependency Injection
- 39. کار با HttpClientTestingModule در Angular برای Mock کردن درخواستهای HTTP
- 40. الگوی AAA: Arrange, Act, Assert در تست با Doubles
- 41. شبیهسازی Fetch API به صورت دستی
- 42. شبیهسازی کتابخانه Axios و interceptorهای آن
- 43. معرفی Mock Service Worker (MSW) برای Mocking در سطح شبکه
- 44. راهاندازی MSW برای تستهای Unit و Integration
- 45. تست حالت موفقیتآمیز درخواست API (Success State)
- 46. تست حالت خطا در درخواست API (Error State)
- 47. تست حالت بارگذاری (Loading State) و نمایش Skeleton UI
- 48. شبیهسازی خطاهای شبکه و Timeout
- 49. شبیهسازی پاسخهای API با تأخیر (Latency)
- 50. تست Race Conditions در درخواستهای همزمان API
- 51. تست Redux/Redux Toolkit: شبیهسازی کامل یک Store
- 52. شبیهسازی Action Creators و اعتبارسنجی Dispatch
- 53. تست Thunkها و Middlewareهای ناهمزمان
- 54. تست Selectors با Stateهای Mock شده
- 55. شبیهسازی React Router و تست ناوبری (Navigation)
- 56. تست کامپوننتهای محافظت شده (Protected Routes)
- 57. شبیهسازی پارامترهای URL و Query String
- 58. شبیهسازی Vue Router
- 59. شبیهسازی کتابخانههای شخص ثالث (Third-party Libraries)
- 60. مثال: Mock کردن یک کتابخانه نمودار (Charting Library)
- 61. مثال: شبیهسازی سرویسهای احراز هویت (Firebase Auth, Auth0)
- 62. شبیهسازی APIهای مرورگر: Geolocation, MatchMedia, Clipboard
- 63. شبیهسازی Intersection Observer API
- 64. شبیهسازی Resize Observer API
- 65. تست کامپوننتهای وابسته به ابعاد پنجره (Window Dimensions)
- 66. شبیهسازی WebSocket و ارتباطات Real-time
- 67. تست آپلود فایل و کار با FormData
- 68. شبیهسازی ماژولهای CSS و استایلهای داینامیک
- 69. تست انیمیشنها و Transitionها با requestAnimationFrame
- 70. شبیهسازی رفتار درگاههای پرداخت آنلاین
- 71. تستهای شکننده (Brittle Tests) و نقش Test Doubles در ایجاد آنها
- 72. ضدالگوی Mock کردن بیش از حد (Over-mocking)
- 73. تست رفتار در مقابل تست جزئیات پیادهسازی
- 74. اصل DAMP در مقابل DRY در فایلهای تست
- 75. سازماندهی فایلهای Mock در پروژه (__mocks__)
- 76. الگوی Factory برای ساخت دادههای تست پیچیده
- 77. استفاده از کتابخانههای تولید داده جعلی (مانند Faker.js)
- 78. چگونه Test Doubles بر طراحی کد تأثیر میگذارد (Test-Driven Development)
- 79. الگوهای طراحی برای افزایش تستپذیری: Dependency Injection
- 80. Refactoring کد برای کاهش نیاز به Mock های پیچیده
- 81. پوشش کد (Code Coverage) چیست و چه ارتباطی با Test Doubles دارد؟
- 82. تحلیل گزارش پوشش کد و نقاط کور در تستها
- 83. بهترین شیوهها برای نامگذاری متغیرهای Mock و Stub
- 84. مستندسازی رفتار Mock شده در تستها برای خوانایی بهتر
- 85. مرور کد تستها: چه چیزهایی را باید بررسی کرد؟
- 86. مقایسه ابزارهای Mocking: Jest, Vitest, Sinon.JS
- 87. قابلیتهای پیشرفته Sinon.JS: Stubs, Spies, Mocks
- 88. معرفی Polly.js: ضبط و پخش (Record & Replay) درخواستهای HTTP
- 89. استفاده از Storybook و Addon ها برای Mock کردن API و Context
- 90. دیباگ کردن تستهایی که از Test Doubles استفاده میکنند
- 91. ادغام تستهای مبتنی بر Mock در پایپلاین CI/CD
- 92. تست پرفرمنس با دادههای شبیهسازی شده در مقیاس بزرگ
- 93. شبیهسازی در تستهای End-to-End با Cypress Intercept
- 94. شبیهسازی در تستهای End-to-End با Playwright
- 95. آینده Test Doubles: ابزارهای نوین و رویکردهای جدید
- 96. مرور نهایی: چه زمانی از Dummy, Stub, Spy, Mock یا Fake استفاده کنیم؟
- 97. چکلیست نهایی برای نوشتن تستهای قابل نگهداری با Test Doubles
- 98. پروژه پایانی: تست کامل یک اپلیکیشن کوچک با تکنیکهای پیشرفته
- 99. جمعبندی دوره و منابع برای مطالعه بیشتر
- 100. **سناریوهای پیچیده: تست رویدادهای سفارشی و APIهای Web Worker با Test Doubles**
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.