کتاب Vite و Jest/Vitest: تست نویسی و اطمینان از صحت کد با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
Vite و Jest/Vitest: تست نویسی و اطمینان از صحت کد - آموزش جامع و کاربردی Vite و Jest/Vitest: تست نویسی و اطمینان از صحت کد - یک گام جلوتر از رقبا! آیا از زمان طولانی ساخت پروژههایتان خسته شدهاید؟ آی...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Vite و Jest/Vitest: تست نویسی و اطمینان از صحت کد
موضوع کلی: برنامه نویسی
موضوع میانی: وایت (Vite)
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی مدرن وب و چالشهای آن
- 2. چرا تستنویسی مهم است؟ ارزش، ضرورت و اهداف
- 3. انواع تستها: Unit Testing، Integration Testing، End-to-End Testing
- 4. آشنایی با ابزارهای Build در وب (Webpack, Parcel, Vite)
- 5. معرفی Vite: Build Tool نسل بعدی برای توسعه وب
- 6. مزایای Vite: سرعت فوقالعاده و تجربه توسعهدهنده (DX)
- 7. معرفی Jest: فریمورک محبوب تست جاوااسکریپت و تایپاسکریپت
- 8. معرفی Vitest: فریمورک تست بومی Vite با کارایی بالا
- 9. مقایسه Jest و Vitest: تفاوتها، شباهتها و انتخاب مناسب
- 10. تنظیم محیط توسعه (IDE, Node.js, npm/yarn) برای شروع کار
- 11. ایجاد پروژه جدید با Vite (Vanilla JS, React, Vue, Svelte)
- 12. ساختار پروژه Vite و فایلهای پیکربندی اصلی
- 13. Dev Server و قابلیت Hot Module Replacement (HMR) در Vite
- 14. پیکربندی `vite.config.js/ts`: مبانی و گزینههای پرکاربرد
- 15. مدیریت استایلها (CSS, Sass, Less, PostCSS) در Vite
- 16. مدیریت Assetها (تصاویر، فونتها) و Public Directory
- 17. استفاده از پلاگینها در Vite و اکوسیستم پلاگینها
- 18. متغیرهای محیطی (Environment Variables) در Vite
- 19. بهینهسازی Build Production و تنظیمات Rollup در Vite
- 20. Code Splitting و Lazy Loading با Vite برای بهبود عملکرد
- 21. Pre-bundling وابستگیها در Vite و اهمیت آن
- 22. پشتیبانی از TypeScript و JSX/TSX در Vite
- 23. مهاجرت از Webpack یا Create React App به Vite (بررسی اجمالی)
- 24. Deploy کردن یک اپلیکیشن Vite به هاستینگهای مختلف
- 25. معرفی قابلیتهای پیشرفته Vite: SSR و Library Mode
- 26. نصب و راهاندازی Jest در یک پروژه جدید
- 27. پیکربندی `jest.config.js/ts`: گزینهها و اهمیت آن
- 28. ساختار پایه تستهای Jest: `describe`, `it`, `test`
- 29. Matchedها و Assertionها (`expect` در Jest)
- 30. Setup و Teardown: `beforeEach`, `afterEach`, `beforeAll`, `afterAll`
- 31. Mock کردن توابع با `jest.fn()`
- 32. Mock کردن ماژولها و وابستگیها با `jest.mock()`
- 33. Spies و ردیابی فراخوانی توابع با `jest.spyOn()`
- 34. تستهای Asynchronous: Promises و async/await در Jest
- 35. Snapshot Testing با Jest برای رابط کاربری و دادهها
- 36. تست خطاهای مورد انتظار و مدیریت استثنائات
- 37. کار با Timers و تاریخ در Jest (`jest.useFakeTimers`)
- 38. پوشش کد (Code Coverage) با Jest و Istanbul
- 39. اجرای تستها با CLI و Watch Mode
- 40. فیلتر کردن و گروهبندی تستها
- 41. تستنویسی مبتنی بر داده (Data-Driven Tests) با `test.each`
- 42. ایجاد Matcherهای سفارشی در Jest
- 43. تستهای Global Setup و Teardown
- 44. تست Environmentها (JSDOM, Node) در Jest
- 45. بهترین روشها برای نوشتن تستهای Unit با Jest
- 46. چرا Vitest؟ مزایای یکپارچگی عمیق با Vite
- 47. نصب و راهاندازی Vitest در پروژه Vite
- 48. پیکربندی Vitest در `vite.config.js/ts` و فایلهای جداگانه
- 49. ساختار تستهای Vitest: `describe`, `it`, `test` (شباهتها به Jest)
- 50. Matchedها و Assertionها (`expect` در Vitest)
- 51. Setup و Teardown در Vitest (مشابه Jest)
- 52. Mock کردن توابع با `vi.fn()`
- 53. Mock کردن ماژولها و وابستگیها با `vi.mock()`
- 54. Spies و ردیابی فراخوانی توابع با `vi.spyOn()`
- 55. تستهای Asynchronous در Vitest
- 56. Snapshot Testing با Vitest
- 57. تست خطاهای مورد انتظار در Vitest
- 58. کار با Timers و تاریخ در Vitest (`vi.useFakeTimers`)
- 59. پوشش کد (Code Coverage) با Vitest و V8
- 60. اجرای تستها با CLI و Watch Mode در Vitest
- 61. فیلتر کردن و گروهبندی تستها در Vitest
- 62. تستنویسی مبتنی بر داده با `test.each` در Vitest
- 63. ایجاد Matcherهای سفارشی در Vitest
- 64. In-source Testing و مزایای آن در Vitest
- 65. مقایسه عملکرد Jest و Vitest در سناریوهای مختلف و انتخاب نهایی
- 66. مقدمهای بر Component Testing و اهمیت آن در توسعه UI
- 67. انتخاب کتابخانه تست کامپوننت (مثال: `@testing-library/react`, `@testing-library/vue`)
- 68. تست کامپوننتهای React با Vite و Vitest/Jest
- 69. تست Hookهای React (Custom Hooks) با Vitest/Jest
- 70. تست کامپوننتهای Vue 3 با Vite و Vitest/Jest
- 71. تست Composablesهای Vue (Custom Composables) با Vitest/Jest
- 72. تست کامپوننتهای Svelte با Vite و Vitest/Jest
- 73. تست کامپوننتهای Lit و Web Components با Vite و Vitest/Jest
- 74. شبیهسازی Interactionهای کاربر (Click, Type, Submit) با Testing Library
- 75. تست دسترسیپذیری (Accessibility Testing) در کامپوننتها
- 76. تست وضعیتهای مختلف کامپوننت و Conditional Rendering
- 77. استفاده از ابزارهای Debugging در Component Tests
- 78. Testing Library Custom Renderers برای محیطهای خاص
- 79. شیوههای Test Driven Development (TDD) در توسعه کامپوننت
- 80. بهترین روشها برای Component Testing و سازماندهی تستها
- 81. مقدمهای بر Integration Testing و تست جریانهای کاری
- 82. تست سرویسها و Utility Functionها در یک پروژه Vite
- 83. تستهای Integration بین کامپوننتها یا ماژولها
- 84. معرفی Cypress: فریمورک E2E برای برنامههای مدرن وب
- 85. معرفی Playwright: فریمورک E2E با قابلیتهای گسترده
- 86. راهاندازی Cypress در یک پروژه Vite
- 87. راهاندازی Playwright در یک پروژه Vite
- 88. نوشتن تستهای E2E پایه: ناوبری و تعاملات اساسی
- 89. Mock کردن API و دادهها در تستهای E2E
- 90. تستهای E2E برای فرمها و جریانهای کاربردی پیچیده
- 91. سازماندهی ساختار تستها در پروژههای بزرگ و Monorepoها
- 92. استراتژیهای تستنویسی: Test Pyramid در مقابل Test Trophy
- 93. مدیریت وابستگیها و تزریق Mock برای تستهای ایزوله
- 94. پاکسازی کد تست و رفع Test Smells (تستهای بد)
- 95. تستهای Performance برای کامپوننتها و عملیات حیاتی
- 96. یکپارچهسازی تستها در CI/CD (مثال: GitHub Actions, GitLab CI)
- 97. گزارشدهی تست (Test Reporting) و Visual Regression Testing (مقدماتی)
- 98. عیبیابی و دیباگ کردن تستهای پیچیده با ابزارهای مختلف
- 99. فرهنگ کیفیت کد و تست: ایجاد تیمی مسئولیتپذیر
- 100. آینده تستنویسی: روندهای جدید، ابزارهای پیشرفته و هوش مصنوعی در تست
تگها:
code quality
E2E testing
Frontend Development
Integration Testing
JavaScript
Jest
Modern JavaScript
Unit Testing
Vite
Vitest
Web Development
اطمینان از صحت کد
برنامه نویسی
تست نویسی
توسعه وب
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.