, ,

کتاب تکنیک‌های Test Isolation for Independent and Repeatable Tests

تومان249,950

انتخاب پلن

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

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

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

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

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

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


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

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

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

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

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

عنوان کتاب: کتاب تکنیک‌های Test Isolation for Independent and Repeatable Tests

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

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

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

  • 1. مقدمه‌ای بر تست نرم‌افزار
  • 2. چرا تست‌نویسی برای فرانت‌اند اهمیت دارد؟
  • 3. هرم تست: Unit, Integration, End-to-End
  • 4. مفهوم Test Isolation: چرا تست‌ها باید مستقل باشند؟
  • 5. مشکلات تست‌های وابسته (Dependent Tests): شکنندگی و کندی
  • 6. مزایای تست‌های مستقل: تکرارپذیری و قابلیت اطمینان
  • 7. آشنایی با محیط‌های تست فرانت‌اند: Jest, Vitest, Cypress
  • 8. معرفی Test Doubles: Mocks, Stubs, Spies, Fakes
  • 9. تفاوت بین Mock, Stub و Spy
  • 10. مقدمه‌ای بر کتابخانه React Testing Library
  • 11. فلسفه Testing Library: تست رفتار کاربر، نه جزئیات پیاده‌سازی
  • 12. بخش دوم: جداسازی وابستگی‌های شبکه (Network Dependencies)**
  • 13. چرا باید درخواست‌های شبکه را در تست‌ها ایزوله کنیم؟
  • 14. معرفی Mock Service Worker (MSW) برای جداسازی کامل API
  • 15. راه‌اندازی MSW در محیط تست
  • 16. نوشتن اولین تست با Mock کردن یک درخواست GET
  • 17. Mock کردن درخواست‌های POST, PUT, DELETE
  • 18. شبیه‌سازی سناریوهای خطا: کدهای 4xx و 5xx
  • 19. مدیریت وضعیت‌های Loading در کامپوننت‌ها با Mocking
  • 20. تست کامپوننت‌هایی که چندین درخواست API ارسال می‌کنند
  • 21. جداسازی تست‌های WebSocket
  • 22. استفاده از Cypress Intercept برای Mock کردن API در تست‌های E2E
  • 23. بخش سوم: جداسازی وابستگی‌های ماژول و توابع (Module & Function Dependencies)**
  • 24. مفهوم Mock کردن ماژول‌ها در Jest/Vitest
  • 25. استفاده از `jest.mock` برای جایگزینی یک ماژول
  • 26. استفاده از `jest.spyOn` برای نظارت بر فراخوانی توابع
  • 27. تفاوت بین Mock کردن کامل و Spy کردن
  • 28. جایگزینی پیاده‌سازی یک تابع (Stubbing)
  • 29. Mock کردن Exportهای Default و Named
  • 30. چالش‌های Mock کردن ماژول‌های ES Modules
  • 31. Mock کردن کتابخانه‌های थर्ड-Party (مانند date-fns, lodash)
  • 32. چرا و چگونه کتابخانه‌های Analytics را Mock کنیم؟
  • 33. جداسازی کامپوننت‌ها از کتابخانه‌های UI خارجی
  • 34. بخش چهارم: جداسازی وابستگی‌های محیطی و سراسری (Global & Environmental Dependencies)**
  • 35. چالش‌های تست کدی که به `window` یا `document` وابسته است
  • 36. Mock کردن `localStorage` و `sessionStorage`
  • 37. کنترل زمان در تست‌ها: `setTimeout` و `setInterval`
  • 38. استفاده از Fake Timers در Jest/Vitest
  • 39. Mock کردن `Date` برای تست‌های وابسته به زمان
  • 40. جداسازی تست‌ها از متغیرهای محیطی (Environment Variables)
  • 41. Mock کردن APIهای مرورگر مانند Geolocation یا Fetch
  • 42. تست کدهای وابسته به ابعاد صفحه (Screen Size)
  • 43. مدیریت `matchMedia` در تست‌های کامپوننت‌های Responsive
  • 44. بخش پنجم: جداسازی وضعیت و داده (State & Data Isolation)**
  • 45. اهمیت ایزوله بودن State بین تست‌ها
  • 46. الگوی Arrange-Act-Assert (AAA) برای ساختاردهی تست‌ها
  • 47. استفاده از `beforeEach` و `afterEach` برای پاکسازی وضعیت
  • 48. تست کامپوننت‌ها با Propsهای مختلف
  • 49. Mock کردن Context Provider در React
  • 50. چگونه هوک‌های سفارشی (Custom Hooks) را به صورت ایزوله تست کنیم؟
  • 51. تست کامپوننت‌های وابسته به React Router
  • 52. Mock کردن کتابخانه‌های مدیریت وضعیت (State Management) مانند Redux یا Zustand
  • 53. تست ایزوله Selectors و Actions در Redux
  • 54. ایجاد داده‌های Mock با استفاده از Factory Pattern
  • 55. بخش ششم: پیاده‌سازی عملی با React Testing Library**
  • 56. راه‌اندازی پروژه نمونه با Create React App و Testing Library
  • 57. نوشتن اولین تست برای یک کامپوننت ساده
  • 58. آشنایی با کوئری‌های `getBy`, `findBy`, `queryBy`
  • 59. انتخاب بهترین کوئری برای تست‌های مقاوم
  • 60. شبیه‌سازی تعاملات کاربر با `user-event`
  • 61. تست یک فرم ساده: ورود متن و کلیک دکمه
  • 62. تست اعتبارسنجی (Validation) فرم به صورت ایزوله
  • 63. تست کامپوننتی که داده از API می‌خواند (با MSW)
  • 64. تست نمایش پیام‌های خطا و موفقیت
  • 65. تست ناوبری (Navigation) در برنامه با Mock کردن Router
  • 66. بخش هفتم: تکنیک‌های پیشرفته Mocking**
  • 67. پیاده‌سازی Mock به صورت دستی (Manual Mocks)
  • 68. استفاده از Module Factory برای ساخت Mockهای پیچیده
  • 69. Mock کردن بخشی از یک ماژول (Partial Mocking)
  • 70. نگهداری و مدیریت Mockها در پروژه‌های بزرگ
  • 71. Snapshot Testing: مزایا، معایب و کاربرد در تست‌های ایزوله
  • 72. تست کامپوننت‌های Higher-Order (HOCs)
  • 73. تست Render Props به صورت ایزوله
  • 74. مبارزه با Over-Mocking: چه زمانی Mock نکنیم؟
  • 75. تست کدهای Asynchronous غیر از درخواست‌های شبکه
  • 76. استراتژی‌های تست برای Micro-Frontends
  • 77. بخش هشتم: تست‌های End-to-End ایزوله با Cypress**
  • 78. مقدمه‌ای بر جداسازی در تست‌های E2E
  • 79. راه‌اندازی Cypress و اولین تست
  • 80. استفاده از `cy.intercept()` برای کنترل کامل شبکه
  • 81. Stub کردن پاسخ‌های API در سناریوهای مختلف
  • 82. استفاده از Fixtures برای مدیریت داده‌های Mock
  • 83. کنترل وضعیت برنامه از طریق `cy.window()`
  • 84. جداسازی تست‌ها با لاگین برنامه‌ریزی‌شده (Programmatic Login)
  • 85. استفاده از Custom Commands برای تکرارپذیری Setup
  • 86. تست بصری (Visual Regression Testing) در محیط ایزوله
  • 87. ایزوله کردن تست‌ها از سرویس‌های थर्ड-Party مانند درگاه پرداخت
  • 88. بخش نهم: بهترین شیوه‌ها و الگوها (Best Practices & Patterns)**
  • 89. نام‌گذاری خوانا و معنادار برای تست‌ها
  • 90. ساختاردهی فایل‌های تست در پروژه
  • 91. استفاده از Faker.js برای تولید داده‌های Mock واقع‌گرایانه
  • 92. الگوی ضد-تست (Anti-Pattern): تست جزئیات پیاده‌سازی
  • 93. الگوی ضد-تست: انتخاب‌گرهای (Selectors) شکننده
  • 94. تست دسترس‌پذیری (Accessibility – a11y) در کامپوننت‌های ایزوله
  • 95. نوشتن تست برای مدیریت خطاهای غیرمنتظره
  • 96. Refactoring کد تست: چگونه تست‌های تمیز بنویسیم؟
  • 97. اندازه‌گیری پوشش کد (Code Coverage) و درک محدودیت‌های آن
  • 98. دیباگ کردن تست‌های ناموفق: ابزارها و تکنیک‌ها
  • 99. بخش دهم: جمع‌بندی و مراحل بعدی**
  • 100. مرور اصول کلیدی تست‌های مستقل و تکرارپذیر

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

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

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

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

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


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

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

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

دیدگاهها

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

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “کتاب تکنیک‌های Test Isolation for Independent and Repeatable Tests”

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

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