کتاب تکنیک‌های Test Integration for Multi-Component Scenarios

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

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

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

عنوان کتاب: کتاب تکنیک‌های Test Integration for Multi-Component Scenarios

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

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

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

  • 1. مقدمه و مبانی تست یکپارچه‌سازی (Integration Testing)
  • 2. چرا تست یکپارچه‌سازی در فرانت‌اند حیاتی است؟
  • 3. تفاوت تست واحد (Unit)، یکپارچه‌سازی (Integration) و سرتاسری (End-to-End)
  • 4. هرم تست و جایگاه تست یکپارچه‌سازی
  • 5. معرفی ابزارهای کلیدی: Jest و Testing Library
  • 6. فلسفه Testing Library: تست رفتار کاربر، نه جزئیات پیاده‌سازی
  • 7. آشنایی با Arrange-Act-Assert (AAA) Pattern در تست‌نویسی
  • 8. راه‌اندازی محیط تست برای یک پروژه React/Vue/Angular
  • 9. نصب و پیکربندی Jest
  • 10. پیکربندی Testing Library متناسب با فریم‌ورک
  • 11. اولین تست یکپارچه‌سازی: تعامل دو کامپوننت ساده
  • 12. ساختار یک فایل تست و بهترین شیوه‌ها
  • 13. اجرای تست‌ها و آشنایی با دستورات CLI
  • 14. مفهوم DOM مجازی (Virtual DOM) در تست‌ها
  • 15. آشنایی با کوئری‌های اصلی Testing Library (getBy, queryBy, findBy)
  • 16. تفاوت بین انواع کوئری‌ها و زمان استفاده از هرکدام
  • 17. انتخاب بهترین کوئری برای هر سناریو
  • 18. تست تعامل کامپوننت والد و فرزند از طریق Props
  • 19. شبیه‌سازی ارسال Props و بررسی رندر صحیح کامپوننت فرزند
  • 20. تست رندر شرطی در کامپوننت فرزند بر اساس Props
  • 21. تست تعامل از طریق رویدادها (Events): سناریوی فرزند به والد
  • 22. استفاده از کتابخانه user-event برای شبیه‌سازی واقعی تعاملات کاربر
  • 23. شبیه‌سازی کلیک، تایپ و سایر رویدادهای کاربر
  • 24. تست یک سناریوی ساده: کلیک روی دکمه در یک کامپوننت و تغییر متن در کامپوننت دیگر
  • 25. تست کامپوننت‌هایی که لیستی از آیتم‌ها را رندر می‌کنند
  • 26. تعامل با یک آیتم خاص در یک لیست
  • 27. تست افزودن و حذف آیتم از یک لیست چندکامپوننتی
  • 28. مفهوم State مشترک و تست آن در کامپوننت‌ها
  • 29. تست کامپوننت‌هایی که از Context API استفاده می‌کنند
  • 30. ایجاد Provider سفارشی برای تست کامپوننت‌های Consumer
  • 31. تست تغییرات Context و تأثیر آن بر چندین کامپوننت
  • 32. مدیریت سناریوهای آسنکرون در تست‌های یکپارچه‌سازی
  • 33. آشنایی با Promise ها و async/await در Jest
  • 34. استفاده از کوئری‌های findBy برای یافتن المان‌های آسنکرون
  • 35. استفاده از ابزار waitFor برای انتظار جهت تغییرات در DOM
  • 36. تست کامپوننت‌هایی که داده از API دریافت می‌کنند
  • 37. مفهوم Mocking و ضرورت آن در تست‌های یکپارچه‌سازی
  • 38. معرفی Mock Service Worker (MSW) به عنوان ابزار مدرن Mocking API
  • 39. راه‌اندازی MSW برای تست‌ها
  • 40. نوشتن اولین تست با API Mock شده توسط MSW
  • 41. تست حالت لودینگ (Loading State) در چندین کامپوننت
  • 42. تست نمایش پیام خطا (Error State) پس از فراخوانی ناموفق API
  • 43. تست نمایش داده‌ها (Success State) در ساختار چندکامپوننتی
  • 44. تست تعاملات کاربر که منجر به فراخوانی API می‌شوند
  • 45. تست فرم‌های چندمرحله‌ای (Multi-step Forms)
  • 46. تست اعتبارسنجی (Validation) در سطح فرم
  • 47. تست نمایش پیام‌های خطا برای فیلدهای مختلف
  • 48. تست ارسال موفقیت‌آمیز فرم و نتیجه آن
  • 49. تست تعامل بین فیلدهای وابسته به هم در یک فرم
  • 50. مبانی تست مسیریابی (Routing)
  • 51. تست کامپوننت‌هایی که از React Router / Vue Router استفاده می‌کنند
  • 52. شبیه‌سازی تغییر مسیر و بررسی رندر شدن کامپوننت صحیح
  • 53. تست لینک‌ها و دکمه‌هایی که کاربر را به مسیر دیگری هدایت می‌کنند
  • 54. تست رندرهای شرطی بر اساس پارامترهای URL
  • 55. تست کامپوننت‌های محافظت‌شده (Protected Routes)
  • 56. مقدمه‌ای بر تست با کتابخانه‌های مدیریت وضعیت (State Management)
  • 57. راه‌اندازی تست برای کامپوننت‌های متصل به Redux/Vuex/Zustand
  • 58. ایجاد یک Store آزمایشی (Mock Store) برای تست‌ها
  • 59. تست کامپوننت‌هایی که Action ها را Dispatch می‌کنند
  • 60. تست کامپوننت‌هایی که داده از Store می‌خوانند (Selectors)
  • 61. تست یک جریان کامل: تعامل کاربر، Dispatch اکشن، و آپدیت UI
  • 62. تکنیک‌های پیشرفته Mocking با Jest
  • 63. آشنایی با jest.fn() برای ساخت توابع Mock
  • 64. استفاده از jest.spyOn() برای جاسوسی روی توابع موجود
  • 65. تست اینکه یک تابع چند بار و با چه پارامترهایی فراخوانی شده است
  • 66. Mock کردن ماژول‌های جاوااسکریپت (ES Modules)
  • 67. Mock کردن کامپوننت‌های Third-party
  • 68. چگونگی Mock کردن یک Hook سفارشی (Custom Hook)
  • 69. تست کامپوننت‌های پیچیده مانند Modal ها و Dialog ها
  • 70. تست باز و بسته شدن Modal بر اساس تعاملات کاربر
  • 71. تست تعاملات درون یک Modal
  • 72. تست کامپوننت‌های Date Picker و انتخاب تاریخ
  • 73. تست سناریوهای Drag and Drop بین دو کامپوننت
  • 74. تست کامپوننت‌هایی که با تایمرها کار می‌کنند (setTimeout, setInterval)
  • 75. استفاده از Fake Timers در Jest
  • 76. تست کامپوننت‌هایی که به ابعاد پنجره (Window Size) واکنش نشان می‌دهند
  • 77. تست کامپوننت‌های چندزبانه (Internationalization - i18n)
  • 78. تست بارگذاری ترجمه‌ها و نمایش متن صحیح
  • 79. تست تغییر زبان و تأثیر آن بر UI
  • 80. مقدمه‌ای بر تست دسترس‌پذیری (Accessibility - a11y)
  • 81. استفاده از jest-axe برای اجرای تست‌های خودکار a11y
  • 82. شناسایی و رفع مشکلات رایج دسترس‌پذیری از طریق تست
  • 83. بهترین شیوه‌ها برای نوشتن تست‌های خوانا و قابل نگهداری
  • 84. نام‌گذاری توصیفی برای تست‌ها و بلوک‌های test/it
  • 85. پرهیز از تست جزئیات پیاده‌سازی
  • 86. ساختاردهی پوشه‌ها و فایل‌های تست در پروژه‌های بزرگ
  • 87. مفهوم Coverage و نحوه تحلیل گزارش آن
  • 88. تنظیم آستانه (Threshold) برای Coverage در CI/CD
  • 89. یکپارچه‌سازی تست‌ها با فرآیند CI/CD (مانند GitHub Actions)
  • 90. اجرای خودکار تست‌ها در هر Pull Request
  • 91. دیباگ کردن تست‌های ناموفق: تکنیک‌ها و ابزارها
  • 92. استفاده از `screen.debug()` برای بررسی وضعیت DOM
  • 93. استفاده از Debugger خود IDE برای خطایابی تست‌ها
  • 94. الگوهای طراحی برای تست‌پذیری کامپوننت‌ها
  • 95. جداسازی منطق از نمایش (Separation of Concerns)
  • 96. تزریق وابستگی‌ها (Dependency Injection) در کامپوننت‌ها
  • 97. نوشتن تست‌های یکپارچه‌سازی به روش TDD (Test-Driven Development)
  • 98. رفاکتورینگ (Refactoring) تست‌ها همگام با کد اصلی
  • 99. مقدمه‌ای بر تست رگرسیون بصری (Visual Regression Testing)
  • 100. استفاده از ابزارهایی مانند Storybook و Chromatic

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.