اپلیکیشن اندرویدی فلشکارت آموزشی 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. آینده تستنویسی: روندهای جدید، ابزارهای پیشرفته و هوش مصنوعی در تست
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.