, ,

کتاب تکنیک‌های Test Isolation برای تست‌های ایزوله و قابل تکرار

تومان249,950

انتخاب پلن

torobpay
هر قسط با ترب‌پی: تومان62,488
۴ قسط ماهانه. بدون سود، چک و ضامن.

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

📚 کتاب آموزشی جامع

📚 اطلاعات کتاب

عنوان کتاب: کتاب تکنیک‌های Test Isolation برای تست‌های ایزوله و قابل تکرار

موضوع کلی: برنامه نویسی

موضوع میانی: تست فرانت‌اند

📋 سرفصل‌های کتاب (100 موضوع)

  • 1. مقدمه‌ای بر اهمیت تست در فرانت‌اند
  • 2. هرم تست: Unit, Integration, E2E
  • 3. مشکلات رایج در تست‌ها: Flaky Tests و کندی
  • 4. وابستگی‌ها: ریشه اصلی مشکلات در تست
  • 5. Test Isolation چیست و چرا به آن نیاز داریم؟
  • 6. مزایای تست‌های ایزوله: سرعت، قطعیت و تکرارپذیری
  • 7. معرفی پروژه نمونه دوره و اهداف آموزشی
  • 8. آماده‌سازی محیط توسعه (Node.js, Git, Editor)
  • 9. نوشتن اولین تست (بدون ایزوله‌سازی)
  • 10. شناسایی وابستگی‌های خارجی در یک کامپوننت ساده
  • 11. معرفی Test Doubles: جایگزین‌هایی برای وابستگی‌ها
  • 12. Dummies: ساده‌ترین نوع Test Double
  • 13. Stubs: جایگزین‌هایی با پاسخ‌های از پیش تعیین‌شده
  • 14. Spies: مشاهده تعاملات بدون تغییر رفتار
  • 15. Mocks: جایگزین‌هایی با انتظارات از پیش تعریف‌شده
  • 16. Fakes: پیاده‌سازی‌های ساده‌شده از وابستگی‌ها
  • 17. تفاوت کلیدی بین Mock و Stub
  • 18. چه زمانی از Spy استفاده کنیم؟
  • 19. انتخاب Test Double مناسب برای هر سناریو
  • 20. مفهوم Seam: نقاطی برای تزریق وابستگی
  • 21. الگوهای تزریق وابستگی (Dependency Injection)
  • 22. تزریق از طریق Constructor/Props
  • 23. تزریق از طریق Setter/Method
  • 24. اصل وارونگی وابستگی (DIP) و نقش آن در تست‌پذیری
  • 25. تایید رفتار (Behavior Verification) در مقابل تایید وضعیت (State Verification)
  • 26. چالش‌های ایزوله‌سازی در کدهای Legacy
  • 27. معرفی و راه‌اندازی Jest
  • 28. معرفی و راه‌اندازی Vitest (جایگزین مدرن)
  • 29. ساختار یک فایل تست: `describe`, `it`, `test`
  • 30. هوک‌های چرخه حیات: `beforeEach`, `afterEach`, `beforeAll`, `afterAll`
  • 31. مدیریت و پاک‌سازی وضعیت بین تست‌ها
  • 32. کتابخانه‌های Assertion: `expect` و Matchers
  • 33. ایجاد Mock Functions با `jest.fn()` یا `vi.fn()`
  • 34. بررسی فراخوانی Mock Functions: `toHaveBeenCalledWith`
  • 35. تعریف مقادیر بازگشتی برای Mock Functions: `mockReturnValue`
  • 36. پیاده‌سازی سفارشی Mock Functions: `mockImplementation`
  • 37. جاسوسی (Spying) بر روی متدها با `jest.spyOn()` یا `vi.spyOn()`
  • 38. بازگرداندن پیاده‌سازی اصلی با `mockRestore`
  • 39. ایزوله‌سازی ماژول‌ها با `jest.mock()` یا `vi.mock()`
  • 40. پیاده‌سازی Manual Mocks در پوشه `__mocks__`
  • 41. چرا Mock کردن `fetch` به تنهایی کافی نیست؟
  • 42. معرفی Mock Service Worker (MSW)
  • 43. فلسفه MSW: Intercept کردن درخواست‌ها در سطح شبکه
  • 44. راه‌اندازی MSW برای محیط تست (Node.js)
  • 45. نوشتن اولین Request Handler در MSW
  • 46. راه‌اندازی MSW برای محیط توسعه (Browser)
  • 47. اشتراک‌گذاری Handlers بین محیط تست و توسعه
  • 48. ایزوله‌سازی درخواست‌های GET با MSW
  • 49. ایزوله‌سازی درخواست‌های POST, PUT, DELETE با MSW
  • 50. شبیه‌سازی پاسخ‌های موفق (Status 2xx)
  • 51. شبیه‌سازی خطاهای سمت کلاینت (Status 4xx)
  • 52. شبیه‌سازی خطاهای سمت سرور (Status 5xx)
  • 53. تست حالت‌های Loading و انتظار برای پاسخ
  • 54. کار با پارامترهای URL و Query Params در MSW
  • 55. تست کامپوننت‌های Data Fetching (مثال با React Query/SWR)
  • 56. ایزوله‌سازی WebSocket با کتابخانه‌های mock
  • 57. مشکل تست کدهای زمان‌محور: `setTimeout`, `setInterval`
  • 58. فعال‌سازی Fake Timers در Jest/Vitest
  • 59. جلو بردن زمان با `advanceTimersByTime`
  • 60. اجرای تمام تایمرهای در صف با `runAllTimers`
  • 61. تست انیمیشن‌ها و افکت‌های CSS مبتنی بر زمان
  • 62. تست فانکشن‌های Debounce و Throttle
  • 63. ایزوله‌سازی `Date` برای نتایج قابل پیش‌بینی
  • 64. ایزوله‌سازی `localStorage` و `sessionStorage`
  • 65. تست خواندن و نوشتن در Storage ایزوله
  • 66. ایزوله‌سازی `window.location` و `window.history`
  • 67. تست تغییر URL و ناوبری (Navigation)
  • 68. ایزوله‌سازی `window.matchMedia` برای تست‌های Responsive
  • 69. ایزوله‌سازی `window.navigator` (مثلاً Geolocation API)
  • 70. ایزوله‌سازی Clipboard API
  • 71. استراتژی‌های ایزوله‌سازی کتابخانه‌های شخص ثالث
  • 72. Mock کردن یک کتابخانه آنالیتیکس (مانند Google Analytics)
  • 73. Mock کردن کامپوننت‌های UI از کتابخانه‌های خارجی (مانند Material-UI)
  • 74. ایزوله‌سازی سیستم Routing (مثال با React Router)
  • 75. تست کامپوننت‌ها در انزوا از Context Providers
  • 76. ایزوله‌سازی State Management (مثال با Redux/Zustand)
  • 77. تست یک Slice/Reducer به صورت ایزوله
  • 78. تست کامپوننت‌های متصل به Store با Mock Store
  • 79. الگوی Arrange-Act-Assert (AAA) برای ساختاردهی تست‌ها
  • 80. خوانایی تست: نام‌گذاری گویا و توضیحات
  • 81. اصل "یک Assert برای هر تست" – افسانه یا واقعیت؟
  • 82. اجتناب از تست جزئیات پیاده‌سازی (Implementation Details)
  • 83. تست رفتار عمومی (Public API) کامپوننت
  • 84. خطر Over-mocking: چه زمانی بیش از حد Mock کرده‌ایم؟
  • 85. نگه‌داری Mockها نزدیک به تست‌های مربوطه
  • 86. ایجاد Factory Functions برای تولید داده‌های تست (Test Data)
  • 87. استفاده از کتابخانه‌هایی مانند Faker.js برای داده‌های واقع‌گرایانه
  • 88. تست‌های پارامتریک (Parametrized Tests) با `test.each`
  • 89. ایزوله‌سازی استایل‌ها و CSS-in-JS
  • 90. تست دربرابر قرارداد (Contract Testing) به عنوان یک تکنیک ایزوله‌سازی
  • 91. معرفی و کاربرد Snapshot Testing
  • 92. مدیریت و به‌روزرسانی Snapshotها
  • 93. خطرات و معایب استفاده بیش از حد از Snapshot Testing
  • 94. Visual Regression Testing برای ایزوله‌سازی تغییرات بصری
  • 95. ایزوله‌سازی تست‌ها در محیط CI/CD
  • 96. اجرای موازی تست‌های ایزوله برای افزایش سرعت
  • 97. تحلیل گزارش Code Coverage و نقاط کور آن
  • 98. Mutation Testing: سنجش کیفیت واقعی تست‌ها
  • 99. متعادل‌سازی بین تست‌های ایزوله (Unit) و Integration
  • 100. جمع‌بندی نهایی: ساخت یک استراتژی تست ایزوله و پایدار

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “کتاب تکنیک‌های Test Isolation برای تست‌های ایزوله و قابل تکرار”

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

پیمایش به بالا