
{"id":323833,"date":"2025-12-05T06:31:01","date_gmt":"2025-12-05T07:31:01","guid":{"rendered":"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/"},"modified":"2025-12-21T08:15:20","modified_gmt":"2025-12-21T09:15:20","slug":"supercourse-0000014603","status":"publish","type":"product","link":"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/","title":{"rendered":"\u06a9\u062a\u0627\u0628 Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f"},"content":{"rendered":"<div style=\"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 30px; border-radius: 15px; color: white; margin-bottom: 30px;\">\n<h2 style=\"color: white; text-align: center; margin-bottom: 20px;\">\ud83c\udf93 \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc \u062c\u0627\u0645\u0639<\/h2>\n<\/p><\/div>\n<div style=\"margin-bottom: 30px;\">\n<h3 style=\"color: #333; margin-bottom: 15px;\">\ud83d\udcda \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0648\u0631\u0647<\/h3>\n<p style=\"font-size: 16px; line-height: 1.8;\"><strong>\u0639\u0646\u0648\u0627\u0646 \u062f\u0648\u0631\u0647:<\/strong> Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f<\/p>\n<p style=\"font-size: 16px; line-height: 1.8;\"><strong>\u0645\u0648\u0636\u0648\u0639 \u06a9\u0644\u06cc:<\/strong> \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc<\/p>\n<p style=\"font-size: 16px; line-height: 1.8;\"><strong>\u0645\u0648\u0636\u0648\u0639 \u0645\u06cc\u0627\u0646\u06cc:<\/strong> \u0648\u0627\u06cc\u062a (Vite)<\/p>\n<\/div>\n<div style=\"margin-bottom: 30px;\">\n<h3 style=\"color: #333; margin-bottom: 15px;\">\ud83d\udccb \u0633\u0631\u0641\u0635\u0644\u200c\u0647\u0627\u06cc \u062f\u0648\u0631\u0647 (100 \u0645\u0648\u0636\u0648\u0639)<\/h3>\n<ul style=\"list-style-type: none; padding: 0;\">\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">1.<\/span> \u0645\u0642\u062f\u0645\u0647\u200c\u0627\u06cc \u0628\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0645\u062f\u0631\u0646 \u0648\u0628 \u0648 \u0686\u0627\u0644\u0634\u200c\u0647\u0627\u06cc \u0622\u0646\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">2.<\/span> \u0686\u0631\u0627 \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc \u0645\u0647\u0645 \u0627\u0633\u062a\u061f \u0627\u0631\u0632\u0634\u060c \u0636\u0631\u0648\u0631\u062a \u0648 \u0627\u0647\u062f\u0627\u0641\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">3.<\/span> \u0627\u0646\u0648\u0627\u0639 \u062a\u0633\u062a\u200c\u0647\u0627: Unit Testing\u060c Integration Testing\u060c End-to-End Testing\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">4.<\/span> \u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc Build \u062f\u0631 \u0648\u0628 (Webpack, Parcel, Vite)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">5.<\/span> \u0645\u0639\u0631\u0641\u06cc Vite: Build Tool \u0646\u0633\u0644 \u0628\u0639\u062f\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0648\u0628\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">6.<\/span> \u0645\u0632\u0627\u06cc\u0627\u06cc Vite: \u0633\u0631\u0639\u062a \u0641\u0648\u0642\u200c\u0627\u0644\u0639\u0627\u062f\u0647 \u0648 \u062a\u062c\u0631\u0628\u0647 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 (DX)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">7.<\/span> \u0645\u0639\u0631\u0641\u06cc Jest: \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9 \u0645\u062d\u0628\u0648\u0628 \u062a\u0633\u062a \u062c\u0627\u0648\u0627\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0648 \u062a\u0627\u06cc\u067e\u200c\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">8.<\/span> \u0645\u0639\u0631\u0641\u06cc Vitest: \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9 \u062a\u0633\u062a \u0628\u0648\u0645\u06cc Vite \u0628\u0627 \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0628\u0627\u0644\u0627\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">9.<\/span> \u0645\u0642\u0627\u06cc\u0633\u0647 Jest \u0648 Vitest: \u062a\u0641\u0627\u0648\u062a\u200c\u0647\u0627\u060c \u0634\u0628\u0627\u0647\u062a\u200c\u0647\u0627 \u0648 \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u0646\u0627\u0633\u0628\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">10.<\/span> \u062a\u0646\u0638\u06cc\u0645 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 (IDE, Node.js, npm\/yarn) \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u06a9\u0627\u0631\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">11.<\/span> \u0627\u06cc\u062c\u0627\u062f \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f \u0628\u0627 Vite (Vanilla JS, React, Vue, Svelte)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">12.<\/span> \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0631\u0648\u0698\u0647 Vite \u0648 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0635\u0644\u06cc\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">13.<\/span> Dev Server \u0648 \u0642\u0627\u0628\u0644\u06cc\u062a Hot Module Replacement (HMR) \u062f\u0631 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">14.<\/span> \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc `vite.config.js\/ts`: \u0645\u0628\u0627\u0646\u06cc \u0648 \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u067e\u0631\u06a9\u0627\u0631\u0628\u0631\u062f\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">15.<\/span> \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u0633\u062a\u0627\u06cc\u0644\u200c\u0647\u0627 (CSS, Sass, Less, PostCSS) \u062f\u0631 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">16.<\/span> \u0645\u062f\u06cc\u0631\u06cc\u062a Asset\u0647\u0627 (\u062a\u0635\u0627\u0648\u06cc\u0631\u060c \u0641\u0648\u0646\u062a\u200c\u0647\u0627) \u0648 Public Directory\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">17.<\/span> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u0644\u0627\u06af\u06cc\u0646\u200c\u0647\u0627 \u062f\u0631 Vite \u0648 \u0627\u06a9\u0648\u0633\u06cc\u0633\u062a\u0645 \u067e\u0644\u0627\u06af\u06cc\u0646\u200c\u0647\u0627\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">18.<\/span> \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637\u06cc (Environment Variables) \u062f\u0631 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">19.<\/span> \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc Build Production \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a Rollup \u062f\u0631 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">20.<\/span> Code Splitting \u0648 Lazy Loading \u0628\u0627 Vite \u0628\u0631\u0627\u06cc \u0628\u0647\u0628\u0648\u062f \u0639\u0645\u0644\u06a9\u0631\u062f\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">21.<\/span> Pre-bundling \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u062f\u0631 Vite \u0648 \u0627\u0647\u0645\u06cc\u062a \u0622\u0646\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">22.<\/span> \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 TypeScript \u0648 JSX\/TSX \u062f\u0631 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">23.<\/span> \u0645\u0647\u0627\u062c\u0631\u062a \u0627\u0632 Webpack \u06cc\u0627 Create React App \u0628\u0647 Vite (\u0628\u0631\u0631\u0633\u06cc \u0627\u062c\u0645\u0627\u0644\u06cc)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">24.<\/span> Deploy \u06a9\u0631\u062f\u0646 \u06cc\u06a9 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 Vite \u0628\u0647 \u0647\u0627\u0633\u062a\u06cc\u0646\u06af\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">25.<\/span> \u0645\u0639\u0631\u0641\u06cc \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 Vite: SSR \u0648 Library Mode\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">26.<\/span> \u0646\u0635\u0628 \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc Jest \u062f\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">27.<\/span> \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc `jest.config.js\/ts`: \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627 \u0648 \u0627\u0647\u0645\u06cc\u062a \u0622\u0646\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">28.<\/span> \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0627\u06cc\u0647 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc Jest: `describe`, `it`, `test`\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">29.<\/span> Matched\u0647\u0627 \u0648 Assertion\u0647\u0627 (`expect` \u062f\u0631 Jest)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">30.<\/span> Setup \u0648 Teardown: `beforeEach`, `afterEach`, `beforeAll`, `afterAll`\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">31.<\/span> Mock \u06a9\u0631\u062f\u0646 \u062a\u0648\u0627\u0628\u0639 \u0628\u0627 `jest.fn()`\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">32.<\/span> Mock \u06a9\u0631\u062f\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0628\u0627 `jest.mock()`\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">33.<\/span> Spies \u0648 \u0631\u062f\u06cc\u0627\u0628\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u062a\u0648\u0627\u0628\u0639 \u0628\u0627 `jest.spyOn()`\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">34.<\/span> \u062a\u0633\u062a\u200c\u0647\u0627\u06cc Asynchronous: Promises \u0648 async\/await \u062f\u0631 Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">35.<\/span> Snapshot Testing \u0628\u0627 Jest \u0628\u0631\u0627\u06cc \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">36.<\/span> \u062a\u0633\u062a \u062e\u0637\u0627\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u0633\u062a\u062b\u0646\u0627\u0626\u0627\u062a\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">37.<\/span> \u06a9\u0627\u0631 \u0628\u0627 Timers \u0648 \u062a\u0627\u0631\u06cc\u062e \u062f\u0631 Jest (`jest.useFakeTimers`)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">38.<\/span> \u067e\u0648\u0634\u0634 \u06a9\u062f (Code Coverage) \u0628\u0627 Jest \u0648 Istanbul\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">39.<\/span> \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a\u200c\u0647\u0627 \u0628\u0627 CLI \u0648 Watch Mode\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">40.<\/span> \u0641\u06cc\u0644\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0648 \u06af\u0631\u0648\u0647\u200c\u0628\u0646\u062f\u06cc \u062a\u0633\u062a\u200c\u0647\u0627\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">41.<\/span> \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u062f\u0627\u062f\u0647 (Data-Driven Tests) \u0628\u0627 `test.each`\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">42.<\/span> \u0627\u06cc\u062c\u0627\u062f Matcher\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u062f\u0631 Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">43.<\/span> \u062a\u0633\u062a\u200c\u0647\u0627\u06cc Global Setup \u0648 Teardown\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">44.<\/span> \u062a\u0633\u062a Environment\u0647\u0627 (JSDOM, Node) \u062f\u0631 Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">45.<\/span> \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc Unit \u0628\u0627 Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">46.<\/span> \u0686\u0631\u0627 Vitest\u061f \u0645\u0632\u0627\u06cc\u0627\u06cc \u06cc\u06a9\u067e\u0627\u0631\u0686\u06af\u06cc \u0639\u0645\u06cc\u0642 \u0628\u0627 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">47.<\/span> \u0646\u0635\u0628 \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc Vitest \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">48.<\/span> \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Vitest \u062f\u0631 `vite.config.js\/ts` \u0648 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">49.<\/span> \u0633\u0627\u062e\u062a\u0627\u0631 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc Vitest: `describe`, `it`, `test` (\u0634\u0628\u0627\u0647\u062a\u200c\u0647\u0627 \u0628\u0647 Jest)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">50.<\/span> Matched\u0647\u0627 \u0648 Assertion\u0647\u0627 (`expect` \u062f\u0631 Vitest)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">51.<\/span> Setup \u0648 Teardown \u062f\u0631 Vitest (\u0645\u0634\u0627\u0628\u0647 Jest)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">52.<\/span> Mock \u06a9\u0631\u062f\u0646 \u062a\u0648\u0627\u0628\u0639 \u0628\u0627 `vi.fn()`\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">53.<\/span> Mock \u06a9\u0631\u062f\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0628\u0627 `vi.mock()`\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">54.<\/span> Spies \u0648 \u0631\u062f\u06cc\u0627\u0628\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u062a\u0648\u0627\u0628\u0639 \u0628\u0627 `vi.spyOn()`\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">55.<\/span> \u062a\u0633\u062a\u200c\u0647\u0627\u06cc Asynchronous \u062f\u0631 Vitest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">56.<\/span> Snapshot Testing \u0628\u0627 Vitest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">57.<\/span> \u062a\u0633\u062a \u062e\u0637\u0627\u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u062f\u0631 Vitest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">58.<\/span> \u06a9\u0627\u0631 \u0628\u0627 Timers \u0648 \u062a\u0627\u0631\u06cc\u062e \u062f\u0631 Vitest (`vi.useFakeTimers`)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">59.<\/span> \u067e\u0648\u0634\u0634 \u06a9\u062f (Code Coverage) \u0628\u0627 Vitest \u0648 V8\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">60.<\/span> \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a\u200c\u0647\u0627 \u0628\u0627 CLI \u0648 Watch Mode \u062f\u0631 Vitest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">61.<\/span> \u0641\u06cc\u0644\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0648 \u06af\u0631\u0648\u0647\u200c\u0628\u0646\u062f\u06cc \u062a\u0633\u062a\u200c\u0647\u0627 \u062f\u0631 Vitest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">62.<\/span> \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u062f\u0627\u062f\u0647 \u0628\u0627 `test.each` \u062f\u0631 Vitest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">63.<\/span> \u0627\u06cc\u062c\u0627\u062f Matcher\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u062f\u0631 Vitest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">64.<\/span> In-source Testing \u0648 \u0645\u0632\u0627\u06cc\u0627\u06cc \u0622\u0646 \u062f\u0631 Vitest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">65.<\/span> \u0645\u0642\u0627\u06cc\u0633\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f Jest \u0648 Vitest \u062f\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0648 \u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u0647\u0627\u06cc\u06cc\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">66.<\/span> \u0645\u0642\u062f\u0645\u0647\u200c\u0627\u06cc \u0628\u0631 Component Testing \u0648 \u0627\u0647\u0645\u06cc\u062a \u0622\u0646 \u062f\u0631 \u062a\u0648\u0633\u0639\u0647 UI\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">67.<\/span> \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a (\u0645\u062b\u0627\u0644: `@testing-library\/react`, `@testing-library\/vue`)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">68.<\/span> \u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627\u06cc React \u0628\u0627 Vite \u0648 Vitest\/Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">69.<\/span> \u062a\u0633\u062a Hook\u0647\u0627\u06cc React (Custom Hooks) \u0628\u0627 Vitest\/Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">70.<\/span> \u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627\u06cc Vue 3 \u0628\u0627 Vite \u0648 Vitest\/Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">71.<\/span> \u062a\u0633\u062a Composables\u0647\u0627\u06cc Vue (Custom Composables) \u0628\u0627 Vitest\/Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">72.<\/span> \u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627\u06cc Svelte \u0628\u0627 Vite \u0648 Vitest\/Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">73.<\/span> \u062a\u0633\u062a \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627\u06cc Lit \u0648 Web Components \u0628\u0627 Vite \u0648 Vitest\/Jest\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">74.<\/span> \u0634\u0628\u06cc\u0647\u200c\u0633\u0627\u0632\u06cc Interaction\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 (Click, Type, Submit) \u0628\u0627 Testing Library\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">75.<\/span> \u062a\u0633\u062a \u062f\u0633\u062a\u0631\u0633\u06cc\u200c\u067e\u0630\u06cc\u0631\u06cc (Accessibility Testing) \u062f\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">76.<\/span> \u062a\u0633\u062a \u0648\u0636\u0639\u06cc\u062a\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a \u0648 Conditional Rendering\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">77.<\/span> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc Debugging \u062f\u0631 Component Tests\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">78.<\/span> Testing Library Custom Renderers \u0628\u0631\u0627\u06cc \u0645\u062d\u06cc\u0637\u200c\u0647\u0627\u06cc \u062e\u0627\u0635\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">79.<\/span> \u0634\u06cc\u0648\u0647\u200c\u0647\u0627\u06cc Test Driven Development (TDD) \u062f\u0631 \u062a\u0648\u0633\u0639\u0647 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">80.<\/span> \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc Component Testing \u0648 \u0633\u0627\u0632\u0645\u0627\u0646\u062f\u0647\u06cc \u062a\u0633\u062a\u200c\u0647\u0627\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">81.<\/span> \u0645\u0642\u062f\u0645\u0647\u200c\u0627\u06cc \u0628\u0631 Integration Testing \u0648 \u062a\u0633\u062a \u062c\u0631\u06cc\u0627\u0646\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u06cc\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">82.<\/span> \u062a\u0633\u062a \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0648 Utility Function\u0647\u0627 \u062f\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">83.<\/span> \u062a\u0633\u062a\u200c\u0647\u0627\u06cc Integration \u0628\u06cc\u0646 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627 \u06cc\u0627 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">84.<\/span> \u0645\u0639\u0631\u0641\u06cc Cypress: \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9 E2E \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0648\u0628\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">85.<\/span> \u0645\u0639\u0631\u0641\u06cc Playwright: \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9 E2E \u0628\u0627 \u0642\u0627\u0628\u0644\u06cc\u062a\u200c\u0647\u0627\u06cc \u06af\u0633\u062a\u0631\u062f\u0647\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">86.<\/span> \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc Cypress \u062f\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">87.<\/span> \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc Playwright \u062f\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 Vite\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">88.<\/span> \u0646\u0648\u0634\u062a\u0646 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc E2E \u067e\u0627\u06cc\u0647: \u0646\u0627\u0648\u0628\u0631\u06cc \u0648 \u062a\u0639\u0627\u0645\u0644\u0627\u062a \u0627\u0633\u0627\u0633\u06cc\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">89.<\/span> Mock \u06a9\u0631\u062f\u0646 API \u0648 \u062f\u0627\u062f\u0647\u200c\u0647\u0627 \u062f\u0631 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc E2E\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">90.<\/span> \u062a\u0633\u062a\u200c\u0647\u0627\u06cc E2E \u0628\u0631\u0627\u06cc \u0641\u0631\u0645\u200c\u0647\u0627 \u0648 \u062c\u0631\u06cc\u0627\u0646\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u067e\u06cc\u0686\u06cc\u062f\u0647\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">91.<\/span> \u0633\u0627\u0632\u0645\u0627\u0646\u062f\u0647\u06cc \u0633\u0627\u062e\u062a\u0627\u0631 \u062a\u0633\u062a\u200c\u0647\u0627 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0628\u0632\u0631\u06af \u0648 Monorepo\u0647\u0627\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">92.<\/span> \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc\u200c\u0647\u0627\u06cc \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc: Test Pyramid \u062f\u0631 \u0645\u0642\u0627\u0628\u0644 Test Trophy\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">93.<\/span> \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0648 \u062a\u0632\u0631\u06cc\u0642 Mock \u0628\u0631\u0627\u06cc \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u0627\u06cc\u0632\u0648\u0644\u0647\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">94.<\/span> \u067e\u0627\u06a9\u200c\u0633\u0627\u0632\u06cc \u06a9\u062f \u062a\u0633\u062a \u0648 \u0631\u0641\u0639 Test Smells (\u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u0628\u062f)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">95.<\/span> \u062a\u0633\u062a\u200c\u0647\u0627\u06cc Performance \u0628\u0631\u0627\u06cc \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627 \u0648 \u0639\u0645\u0644\u06cc\u0627\u062a \u062d\u06cc\u0627\u062a\u06cc\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">96.<\/span> \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647\u200c\u0633\u0627\u0632\u06cc \u062a\u0633\u062a\u200c\u0647\u0627 \u062f\u0631 CI\/CD (\u0645\u062b\u0627\u0644: GitHub Actions, GitLab CI)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">97.<\/span> \u06af\u0632\u0627\u0631\u0634\u200c\u062f\u0647\u06cc \u062a\u0633\u062a (Test Reporting) \u0648 Visual Regression Testing (\u0645\u0642\u062f\u0645\u0627\u062a\u06cc)\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">98.<\/span> \u0639\u06cc\u0628\u200c\u06cc\u0627\u0628\u06cc \u0648 \u062f\u06cc\u0628\u0627\u06af \u06a9\u0631\u062f\u0646 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0628\u0627 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">99.<\/span> \u0641\u0631\u0647\u0646\u06af \u06a9\u06cc\u0641\u06cc\u062a \u06a9\u062f \u0648 \u062a\u0633\u062a: \u0627\u06cc\u062c\u0627\u062f \u062a\u06cc\u0645\u06cc \u0645\u0633\u0626\u0648\u0644\u06cc\u062a\u200c\u067e\u0630\u06cc\u0631\n                    <\/li>\n<li style=\"padding: 8px 0; border-bottom: 1px solid #eee;\">\n                        <span style=\"color: #667eea; font-weight: bold;\">100.<\/span> \u0622\u06cc\u0646\u062f\u0647 \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc: \u0631\u0648\u0646\u062f\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f\u060c \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0648 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u062f\u0631 \u062a\u0633\u062a\n                    <\/li>\n<\/ul>\n<\/div>\n<div style=\"margin-bottom: 30px;\"><!DOCTYPE html><br \/>\n<html lang=\"fa\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f &#8211; \u0622\u0645\u0648\u0632\u0634 \u062c\u0627\u0645\u0639 \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc<\/title><br \/>\n    <meta name=\"description\" content=\"\u062f\u0648\u0631\u0647 \u062c\u0627\u0645\u0639 \u0622\u0645\u0648\u0632\u0634 Vite \u0648 Jest\/Vitest \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f. \u0633\u0631\u0639\u062a \u0648 \u06a9\u06cc\u0641\u06cc\u062a \u0631\u0627 \u0628\u0627 \u0647\u0645 \u062a\u062c\u0631\u0628\u0647 \u06a9\u0646\u06cc\u062f!\"><\/p>\n<style>\n        body {\n            font-family: Arial, sans-serif;\n            line-height: 1.6;\n            margin: 20px;\n        }<\/p>\n<p>        h2, h3 {\n            color: #333;\n        }<\/p>\n<p>        ul {\n            list-style-type: disc;\n            margin-left: 20px;\n        }<\/p>\n<p>        .cta-button {\n            background-color: #4CAF50;\n            border: none;\n            color: white;\n            padding: 15px 32px;\n            text-align: center;\n            text-decoration: none;\n            display: inline-block;\n            font-size: 16px;\n            margin: 4px 2px;\n            cursor: pointer;\n            border-radius: 5px;\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<h2>Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f &#8211; \u06cc\u06a9 \u06af\u0627\u0645 \u062c\u0644\u0648\u062a\u0631 \u0627\u0632 \u0631\u0642\u0628\u0627!<\/h2>\n<p>\u0622\u06cc\u0627 \u0627\u0632 \u0632\u0645\u0627\u0646 \u0637\u0648\u0644\u0627\u0646\u06cc \u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc\u062a\u0627\u0646 \u062e\u0633\u062a\u0647 \u0634\u062f\u0647\u200c\u0627\u06cc\u062f\u061f \u0622\u06cc\u0627 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0631\u0627\u0647\u06cc \u0647\u0633\u062a\u06cc\u062f \u062a\u0627 \u0628\u0627 \u0633\u0631\u0639\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0645\u062f\u0631\u0646 \u0648\u0628 \u0631\u0627 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u06cc\u062f \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u0627\u0632 \u06a9\u06cc\u0641\u06cc\u062a \u0628\u0627\u0644\u0627\u06cc \u06a9\u062f \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f\u061f \u062f\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06cc &#8220;Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f&#8221; \u062f\u0642\u06cc\u0642\u0627 \u0647\u0645\u0627\u0646 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f!<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u062c\u0627\u0645\u0639\u060c \u0628\u0627 \u0642\u062f\u0631\u062a \u0648 \u0633\u0631\u0639\u062a Vite\u060c \u0646\u0633\u0644 \u062c\u062f\u06cc\u062f \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc build \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0648\u0628 \u0622\u0634\u0646\u0627 \u0645\u06cc\u200c\u0634\u0648\u06cc\u062f. \u06cc\u0627\u062f \u0645\u06cc\u200c\u06af\u06cc\u0631\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 Vite \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc React\u060c Vue\u060c Svelte \u0648 TypeScript \u0628\u0627 \u0633\u0631\u0639\u062a \u0628\u0627\u0648\u0631\u0646\u06a9\u0631\u062f\u0646\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646\u060c \u0628\u0627 Jest \u0648 Vitest\u060c \u062f\u0648 \u0641\u0631\u06cc\u0645\u0648\u0631\u06a9 \u062a\u0633\u062a \u0642\u062f\u0631\u062a\u0645\u0646\u062f\u060c \u0622\u0634\u0646\u0627 \u0645\u06cc\u200c\u0634\u0648\u06cc\u062f \u0648 \u06cc\u0627\u062f \u0645\u06cc\u200c\u06af\u06cc\u0631\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u0648\u0627\u062d\u062f \u0648 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647\u200c\u0633\u0627\u0632\u06cc \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f \u062a\u0627 \u0627\u0632 \u0635\u062d\u062a \u0648 \u067e\u0627\u06cc\u062f\u0627\u0631\u06cc \u06a9\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f. \u062f\u06cc\u06af\u0631 \u0646\u06af\u0631\u0627\u0646 \u0628\u0627\u06af\u200c\u0647\u0627 \u0648 \u0645\u0634\u06a9\u0644\u0627\u062a \u063a\u06cc\u0631\u0645\u0646\u062a\u0638\u0631\u0647 \u0646\u0628\u0627\u0634\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 \u0628\u0627 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647\u060c \u0634\u0645\u0627 \u0628\u0647 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u062d\u0631\u0641\u0647\u200c\u0627\u06cc \u0648 \u0645\u0637\u0645\u0626\u0646 \u062a\u0628\u062f\u06cc\u0644 \u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f.<\/p>\n<h2>\u062f\u0631\u0628\u0627\u0631\u0647 \u062f\u0648\u0631\u0647<\/h2>\n<p>\u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u06cc\u06a9 \u0622\u0645\u0648\u0632\u0634 \u062c\u0627\u0645\u0639 \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0627\u0632 \u0635\u0641\u0631 \u062a\u0627 \u0635\u062f \u0628\u0627 Vite \u0648 Jest\/Vitest \u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f. \u0645\u0627 \u0628\u0627 \u0645\u0641\u0627\u0647\u06cc\u0645 \u067e\u0627\u06cc\u0647 \u0634\u0631\u0648\u0639 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0648 \u0628\u0647 \u062a\u062f\u0631\u06cc\u062c \u0628\u0647 \u0645\u0628\u0627\u062d\u062b \u067e\u06cc\u0634\u0631\u0641\u062a\u0647\u200c\u062a\u0631 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u06cc\u0645. \u062f\u0631 \u0637\u0648\u0644 \u062f\u0648\u0631\u0647\u060c \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc \u0645\u062a\u0639\u062f\u062f\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645 \u062a\u0627 \u062f\u0627\u0646\u0634 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u062a\u062b\u0628\u06cc\u062a \u06a9\u0646\u06cc\u062f. \u0628\u0627 \u06af\u0630\u0631\u0627\u0646\u062f\u0646 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647\u060c \u0634\u0645\u0627 \u0642\u0627\u062f\u0631 \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0648\u062f \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0648\u0628 \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0633\u0631\u0639\u062a \u0648 \u06a9\u06cc\u0641\u06cc\u062a \u0628\u06cc\u200c\u0646\u0638\u06cc\u0631\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u06cc\u062f \u0648 \u0628\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u06a9\u0627\u0645\u0644\u060c \u06a9\u062f \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0645\u0631\u062d\u0644\u0647 \u0627\u062c\u0631\u0627 \u0628\u0631\u0633\u0627\u0646\u06cc\u062f.<\/p>\n<h2>\u0645\u0648\u0636\u0648\u0639\u0627\u062a \u06a9\u0644\u06cc\u062f\u06cc<\/h2>\n<ul>\n<li>\u0645\u0639\u0631\u0641\u06cc \u0648 \u0646\u0635\u0628 Vite<\/li>\n<li>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Vite \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 (React, Vue, Svelte)<\/li>\n<li>\u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f Vite<\/li>\n<li>\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 Jest \u0648 Vitest<\/li>\n<li>\u0646\u0648\u0634\u062a\u0646 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u0648\u0627\u062d\u062f (Unit Tests)<\/li>\n<li>\u0646\u0648\u0634\u062a\u0646 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647\u200c\u0633\u0627\u0632\u06cc (Integration Tests)<\/li>\n<li>\u067e\u0648\u0634\u0634 \u06a9\u062f (Code Coverage)<\/li>\n<li>\u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc (Behavior Driven Development &#8211; BDD)<\/li>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Mock \u0647\u0627 \u0648 Stubs<\/li>\n<li>\u0627\u0634\u06a9\u0627\u0644\u200c\u0632\u062f\u0627\u06cc\u06cc (Debugging) \u062a\u0633\u062a\u200c\u0647\u0627<\/li>\n<li>\u0627\u062f\u063a\u0627\u0645 Jest\/Vitest \u0628\u0627 CI\/CD<\/li>\n<\/ul>\n<h2>\u0645\u062e\u0627\u0637\u0628\u0627\u0646 \u062f\u0648\u0631\u0647<\/h2>\n<p>\u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0628\u0631\u0627\u06cc \u0627\u0641\u0631\u0627\u062f \u0632\u06cc\u0631 \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>\u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0648\u0628 \u06a9\u0647 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0627\u0628\u0632\u0627\u0631\u06cc \u0633\u0631\u06cc\u0639 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0628\u0631\u0627\u06cc build \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u0647\u0633\u062a\u0646\u062f.<\/li>\n<li>\u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u0646\u062f \u0645\u0647\u0627\u0631\u062a\u200c\u0647\u0627\u06cc \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u0631\u062a\u0642\u0627 \u062f\u0647\u0646\u062f \u0648 \u0627\u0632 \u06a9\u06cc\u0641\u06cc\u062a \u0628\u0627\u0644\u0627\u06cc \u06a9\u062f \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u0646\u062f.<\/li>\n<li>\u062f\u0627\u0646\u0634\u062c\u0648\u06cc\u0627\u0646 \u0648 \u0641\u0627\u0631\u063a\u200c\u0627\u0644\u062a\u062d\u0635\u06cc\u0644\u0627\u0646 \u0631\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u06a9\u0647 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0647\u0627\u0631\u062a\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0647\u0633\u062a\u0646\u062f.<\/li>\n<li>\u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0627 React\u060c Vue\u060c Svelte \u0648 TypeScript \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0648 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u0646\u062f \u0627\u0632 Vite \u0648 Jest\/Vitest \u062f\u0631 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f.<\/li>\n<\/ul>\n<h2>\u0686\u0631\u0627 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0631\u0627 \u0628\u06af\u0630\u0631\u0627\u0646\u06cc\u0645\u061f<\/h2>\n<p>\u06af\u0630\u0631\u0627\u0646\u062f\u0646 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0645\u0632\u0627\u06cc\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a:<\/p>\n<ul>\n<li><b>\u0627\u0641\u0632\u0627\u06cc\u0634 \u0633\u0631\u0639\u062a \u062a\u0648\u0633\u0639\u0647:<\/b> Vite \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0633\u0631\u0639\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc build \u0648 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/li>\n<li><b>\u0628\u0647\u0628\u0648\u062f \u06a9\u06cc\u0641\u06cc\u062a \u06a9\u062f:<\/b> Jest\/Vitest \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u062c\u0627\u0645\u0639 \u0648 \u062f\u0642\u06cc\u0642\u06cc \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f \u0648 \u0627\u0632 \u0635\u062d\u062a \u0648 \u067e\u0627\u06cc\u062f\u0627\u0631\u06cc \u06a9\u062f \u062e\u0648\u062f \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f.<\/li>\n<li><b>\u06a9\u0627\u0647\u0634 \u062e\u0637\u0627\u0647\u0627:<\/b> \u0628\u0627 \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627\u06af\u200c\u0647\u0627 \u0648 \u0645\u0634\u06a9\u0644\u0627\u062a \u0627\u062d\u062a\u0645\u0627\u0644\u06cc \u0631\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0627\u0646\u062a\u0634\u0627\u0631 \u067e\u0631\u0648\u0698\u0647 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0648 \u0631\u0641\u0639 \u06a9\u0646\u06cc\u062f.<\/li>\n<li><b>\u0627\u0641\u0632\u0627\u06cc\u0634 \u0627\u0639\u062a\u0645\u0627\u062f \u0628\u0647 \u0646\u0641\u0633:<\/b> \u0628\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u062e\u06cc\u0627\u0644 \u0631\u0627\u062d\u062a \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u0648 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u06cc\u062f.<\/li>\n<li><b>\u0627\u0631\u062a\u0642\u0627\u06cc \u0631\u0632\u0648\u0645\u0647:<\/b> \u062a\u0633\u0644\u0637 \u0628\u0631 Vite \u0648 Jest\/Vitest \u06cc\u06a9 \u0645\u0632\u06cc\u062a \u0631\u0642\u0627\u0628\u062a\u06cc \u062f\u0631 \u0628\u0627\u0632\u0627\u0631 \u06a9\u0627\u0631 \u0627\u0633\u062a \u0648 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0641\u0631\u0635\u062a\u200c\u0647\u0627\u06cc \u0634\u063a\u0644\u06cc \u0628\u0647\u062a\u0631\u06cc \u0631\u0627 \u0628\u0647 \u062f\u0633\u062a \u0622\u0648\u0631\u06cc\u062f.<\/li>\n<li><b>\u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0645\u0647\u0627\u0631\u062a\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc:<\/b> \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0628\u0631 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0639\u0645\u0644\u06cc \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062a\u0627\u06a9\u06cc\u062f \u062f\u0627\u0631\u062f \u0648 \u0634\u0645\u0627 \u062f\u0631 \u0637\u0648\u0644 \u062f\u0648\u0631\u0647\u060c \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u06cc\u062f.<\/li>\n<li><b>\u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc:<\/b> \u062f\u0631 \u0637\u0648\u0644 \u062f\u0648\u0631\u0647\u060c \u0628\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0633\u0627\u062a\u06cc\u062f \u0648 \u0645\u062a\u062e\u0635\u0635\u0627\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a \u0648 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0633\u0648\u0627\u0644\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0645\u0637\u0631\u062d \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<h2>\u0633\u0631\u0641\u0635\u0644\u200c\u0647\u0627\u06cc \u062f\u0648\u0631\u0647<\/h2>\n<p>\u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0634\u0627\u0645\u0644 \u0628\u06cc\u0634 \u0627\u0632 100 \u0633\u0631\u0641\u0635\u0644 \u062c\u0627\u0645\u0639 \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0628\u0647 \u06cc\u06a9 \u0645\u062a\u062e\u0635\u0635 Vite \u0648 Jest\/Vitest \u062a\u0628\u062f\u06cc\u0644 \u0634\u0648\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u062a\u0646\u0647\u0627 \u0628\u0647 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0633\u0631\u0641\u0635\u0644\u200c\u0647\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645:<\/p>\n<ul>\n<li><b>\u0628\u062e\u0634 \u0627\u0648\u0644: \u0645\u0642\u062f\u0645\u0647\u200c\u0627\u06cc \u0628\u0631 Vite<\/b>\n<ul>\n<li>\u0645\u0639\u0631\u0641\u06cc Vite \u0648 \u0645\u0632\u0627\u06cc\u0627\u06cc \u0622\u0646<\/li>\n<li>\u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Vite<\/li>\n<li>\u0633\u0627\u062e\u062a\u0627\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 Vite<\/li>\n<li>\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627\u06cc Single-File<\/li>\n<li>Hot Module Replacement (HMR)<\/li>\n<li>\u067e\u0644\u0627\u06af\u06cc\u0646\u200c\u0647\u0627\u06cc Vite<\/li>\n<li>\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 Vite<\/li>\n<li>\u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc performance<\/li>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 environment variable\u0647\u0627<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0628\u062e\u0634 \u062f\u0648\u0645: Vite \u0648 React<\/b>\n<ul>\n<li>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 React \u0628\u0627 Vite<\/li>\n<li>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Babel \u0648 TypeScript<\/li>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 JSX \u0648 CSS Modules<\/li>\n<li>routing \u0648 navigation<\/li>\n<li>state management \u0628\u0627 Redux \u06cc\u0627 Context API<\/li>\n<li>\u062f\u06cc\u067e\u0644\u0648\u06cc \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 React \u0628\u0627 Vite<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0628\u062e\u0634 \u0633\u0648\u0645: Vite \u0648 Vue<\/b>\n<ul>\n<li>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 Vue \u0628\u0627 Vite<\/li>\n<li>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Vue Router \u0648 Vuex<\/li>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 SFC (Single File Components)<\/li>\n<li>\u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627\u06cc \u062f\u0627\u06cc\u0646\u0627\u0645\u06cc\u06a9 \u0648 lazy loading<\/li>\n<li>directives \u0648 filters<\/li>\n<li>\u0627\u0646\u06cc\u0645\u06cc\u0634\u0646\u200c\u0647\u0627 \u0648 transitions<\/li>\n<li>\u062f\u06cc\u067e\u0644\u0648\u06cc \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 Vue \u0628\u0627 Vite<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0628\u062e\u0634 \u0686\u0647\u0627\u0631\u0645: \u0645\u0642\u062f\u0645\u0647\u200c\u0627\u06cc \u0628\u0631 Jest\/Vitest<\/b>\n<ul>\n<li>\u0645\u0639\u0631\u0641\u06cc Jest \u0648 Vitest \u0648 \u062a\u0641\u0627\u0648\u062a\u200c\u0647\u0627\u06cc \u0622\u0646\u200c\u0647\u0627<\/li>\n<li>\u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Jest\/Vitest<\/li>\n<li>\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 syntax \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc<\/li>\n<li>\u0646\u0648\u0634\u062a\u0646 assertions<\/li>\n<li>\u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a\u200c\u0647\u0627<\/li>\n<li>\u067e\u0648\u0634\u0634 \u06a9\u062f (Code Coverage)<\/li>\n<li>\u0627\u0634\u06a9\u0627\u0644\u200c\u0632\u062f\u0627\u06cc\u06cc (Debugging) \u062a\u0633\u062a\u200c\u0647\u0627<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0628\u062e\u0634 \u067e\u0646\u062c\u0645: \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc \u0648\u0627\u062d\u062f (Unit Tests)<\/b>\n<ul>\n<li>\u062a\u0633\u062a \u062a\u0648\u0627\u0628\u0639 \u0648 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627<\/li>\n<li>Mock \u06a9\u0631\u062f\u0646 dependencies<\/li>\n<li>Stubs \u0648 Spies<\/li>\n<li>\u062a\u0633\u062a asynchronous code<\/li>\n<li>\u062a\u0633\u062a \u062e\u0637\u0627\u0647\u0627 \u0648 exceptions<\/li>\n<li>\u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u0648\u0627\u062d\u062f<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0628\u062e\u0634 \u0634\u0634\u0645: \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647\u200c\u0633\u0627\u0632\u06cc (Integration Tests)<\/b>\n<ul>\n<li>\u062a\u0633\u062a interaction \u0628\u06cc\u0646 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a\u200c\u0647\u0627<\/li>\n<li>\u062a\u0633\u062a APIs<\/li>\n<li>\u062a\u0633\u062a \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633<\/li>\n<li>\u062a\u0633\u062a end-to-end<\/li>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 frameworks \u062a\u0633\u062a end-to-end (Cypress, Puppeteer)<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0628\u062e\u0634 \u0647\u0641\u062a\u0645: \u062a\u0633\u062a\u200c\u0646\u0648\u06cc\u0633\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc (BDD)<\/b>\n<ul>\n<li>\u0645\u0639\u0631\u0641\u06cc BDD \u0648 Gherkin<\/li>\n<li>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Cucumber \u06cc\u0627 Jest-Cucumber<\/li>\n<li>\u0646\u0648\u0634\u062a\u0646 features \u0648 scenarios<\/li>\n<li>\u062a\u0639\u0631\u06cc\u0641 steps<\/li>\n<li>\u0645\u0632\u0627\u06cc\u0627\u06cc BDD<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0628\u062e\u0634 \u0647\u0634\u062a\u0645: \u0627\u062f\u063a\u0627\u0645 Jest\/Vitest \u0628\u0627 CI\/CD<\/b>\n<ul>\n<li>\u062a\u0646\u0638\u06cc\u0645 CI\/CD \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062a\u0633\u062a\u200c\u0647\u0627<\/li>\n<li>\u06af\u0632\u0627\u0631\u0634\u200c\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0646\u062a\u0627\u06cc\u062c \u062a\u0633\u062a\u200c\u0647\u0627<\/li>\n<li>fail build \u062f\u0631 \u0635\u0648\u0631\u062a \u0648\u062c\u0648\u062f \u062e\u0637\u0627<\/li>\n<li>\u0627\u062a\u0648\u0645\u0627\u062a\u06cc\u06a9 \u06a9\u0631\u062f\u0646 \u062f\u06cc\u067e\u0644\u0648\u06cc<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0628\u062e\u0634 \u0646\u0647\u0645: \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc<\/b>\n<ul>\n<li>\u0633\u0627\u062e\u062a \u06cc\u06a9 Todo App \u0628\u0627 React \u0648 Vite \u0648 Jest<\/li>\n<li>\u0633\u0627\u062e\u062a \u06cc\u06a9 Blog \u0628\u0627 Vue \u0648 Vite \u0648 Vitest<\/li>\n<li>\u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0645\u062a\u0646\u0648\u0639 \u062f\u06cc\u06af\u0631<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0628\u062e\u0634 \u062f\u0647\u0645: \u0646\u06a9\u0627\u062a \u067e\u06cc\u0634\u0631\u0641\u062a\u0647<\/b>\n<ul>\n<li>Performance Optimization \u062f\u0631 Jest\/Vitest<\/li>\n<li>Parallel Testing<\/li>\n<li>Snapshot Testing<\/li>\n<li>Test Driven Development (TDD)<\/li>\n<li>\u0648 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0646\u06a9\u0627\u062a \u062f\u06cc\u06af\u0631&#8230;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u0627\u06cc\u0646 \u0641\u0642\u0637 \u0628\u062e\u0634 \u06a9\u0648\u0686\u06a9\u06cc \u0627\u0632 \u0633\u0631\u0641\u0635\u0644\u200c\u0647\u0627\u06cc \u062c\u0627\u0645\u0639 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647 \u0627\u0633\u062a. \u0628\u0627 \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u062f\u0631 \u062f\u0648\u0631\u0647\u060c \u0628\u0647 \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646 \u0633\u0631\u0641\u0635\u0644\u200c\u0647\u0627 \u0648 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0645\u0637\u0627\u0644\u0628 \u0627\u0631\u0632\u0634\u0645\u0646\u062f \u062f\u06cc\u06af\u0631 \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a.<\/p>\n<p>    <a href=\"#\" class=\"cta-button\">\u0647\u0645\u06cc\u0646 \u062d\u0627\u0644\u0627 \u062b\u0628\u062a \u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f \u0648 \u0622\u06cc\u0646\u062f\u0647 \u0634\u063a\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u062a\u0636\u0645\u06cc\u0646 \u06a9\u0646\u06cc\u062f!<\/a><\/p>\n<p><\/body><br \/>\n<\/html><\/div>\n<div\r\n    style=\"border: 2px dashed #4CAF50; border-radius: 16px; padding: 20px; background: #f9fff9; font-family: 'IRANSans', sans-serif;\">\r\n    <h2 style=\"color: #2E7D32; margin-top: 0;\">\ud83d\udcda \u0645\u062d\u062a\u0648\u0627\u06cc \u0627\u06cc\u0646 \u0645\u062d\u0635\u0648\u0644 \u0622\u0645\u0648\u0632\u0634\u06cc (\u067e\u06a9\u06cc\u062c \u06a9\u0627\u0645\u0644)<\/h2>\r\n    <div\r\n        style=\"background: #E8F5E9; border-radius: 12px; padding: 15px 20px; margin-bottom: 20px; border: 1px solid #A5D6A7;\">\r\n        <h3 style=\"color: #1B5E20; margin-top: 0;\">\ud83d\udca1 \u0627\u06cc\u0646 \u0645\u062d\u0635\u0648\u0644 \u06cc\u06a9 \u0646\u0633\u062e\u0647\u0654 \u06a9\u0627\u0645\u0644 \u0648 \u062c\u0627\u0645\u0639 \u0627\u0633\u062a<\/h3>\r\n        <p style=\"font-size:16px; line-height:1.8; color:#2E7D32; margin:0;\"> \u062a\u0645\u0627\u0645\u06cc \u0645\u062d\u062a\u0648\u0627\u06cc \u0622\u0645\u0648\u0632\u0634\u06cc \u0627\u06cc\u0646 \u06a9\u062a\u0627\u0628 \u062f\u0631 \u0642\u0627\u0644\u0628 \u06cc\u06a9\r\n            \u0628\u0633\u062a\u0647\u200c\u06cc \u06a9\u0627\u0645\u0644 \u0648 \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0634\u0627\u0645\u0644 \u062a\u0645\u0627\u0645 \u0646\u0633\u062e\u0647\u200c\u0647\u0627 \u0648 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632 \u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0627\u0633\u062a. <\/p>\r\n    <\/div>\r\n    <h3 style=\"color: #2E7D32;\">\ud83c\udf81 \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u06a9\u0627\u0645\u0644 \u0628\u0633\u062a\u0647 \u062f\u0627\u0646\u0644\u0648\u062f\u06cc<\/h3>\r\n\r\n\t\r\n<ul style=\"list-style-type: '\u2705 '; padding-left: 20px; font-size: 16px; line-height: 1.8;\">\r\n    <li><strong>\u0648\u06cc\u062f\u06cc\u0648\u0647\u0627\u06cc \u0622\u0645\u0648\u0632\u0634\u06cc \u0641\u0627\u0631\u0633\u06cc<\/strong> \u2014 \u0622\u0645\u0648\u0632\u0634 \u0642\u062f\u0645\u200c\u0628\u0647\u200c\u0642\u062f\u0645\u060c \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648 \u0642\u0627\u0628\u0644 \u0641\u0647\u0645<\/li>\r\n    <li><strong>\u067e\u0627\u062f\u06a9\u0633\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u0641\u0627\u0631\u0633\u06cc<\/strong> \u2014 \u062a\u0648\u0636\u06cc\u062d \u0645\u0641\u0627\u0647\u06cc\u0645 \u06a9\u0644\u06cc\u062f\u06cc \u0648 \u0646\u06a9\u0627\u062a \u062a\u06a9\u0645\u06cc\u0644\u06cc<\/li>\r\n    <li><strong>\u06a9\u062a\u0627\u0628 PDF \u0641\u0627\u0631\u0633\u06cc<\/strong> \u2014 \u0634\u0627\u0645\u0644 \u06a9\u0644\u06cc\u0647\u0654 \u0633\u0631\u0641\u0635\u0644\u200c\u0647\u0627 \u0648 \u0645\u062d\u062a\u0648\u0627\u06cc \u0622\u0645\u0648\u0632\u0634\u06cc<\/li>\r\n    <li><strong>\u06a9\u062a\u0627\u0628 \u062e\u0644\u0627\u0635\u0647 \u0646\u06a9\u0627\u062a \u0648\u06cc\u062f\u06cc\u0648\u0647\u0627 \u0648 \u067e\u0627\u062f\u06a9\u0633\u062a\u200c\u0647\u0627 \u2013 \u0646\u0633\u062e\u0647 PDF<\/strong> \u2014 \u0645\u0646\u0627\u0633\u0628 \u0645\u0631\u0648\u0631 \u0633\u0631\u06cc\u0639 \u0648 \u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc \u0645\u0628\u0627\u062d\u062b<\/li>\r\n    <li><strong>\u06a9\u062a\u0627\u0628 \u0635\u062f\u0647\u0627 \u0646\u06a9\u062a\u0647 \u0641\u0627\u0631\u0633\u06cc (\u062e\u0648\u062f\u0645\u0648\u0646\u06cc) \u2013 \u0646\u0633\u062e\u0647 PDF<\/strong> \u2014 \u0632\u0628\u0627\u0646 \u0633\u0627\u062f\u0647 \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc<\/li>\r\n    <li><strong>\u06a9\u062a\u0627\u0628 \u0635\u062f\u0647\u0627 \u0646\u06a9\u062a\u0647 \u0631\u0633\u0645\u06cc \u0641\u0627\u0631\u0633\u06cc \u2013 \u0646\u0633\u062e\u0647 PDF<\/strong> \u2014 \u0646\u06af\u0627\u0631\u0634 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f\u060c \u0639\u0644\u0645\u06cc \u0648 \u0645\u0646\u0627\u0633\u0628 \u0686\u0627\u067e<\/li>\r\n\r\n    <li>\r\n        <strong>\u06a9\u062a\u0627\u0628 \u0635\u062f\u0647\u0627 \u067e\u0631\u0633\u0634 \u0648 \u067e\u0627\u0633\u062e \u062a\u0634\u0631\u06cc\u062d\u06cc \u2013 \u0646\u0633\u062e\u0647 PDF<\/strong><br>\r\n        \u2014 \u0647\u0631 \u0633\u0624\u0627\u0644 \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u067e\u0627\u0633\u062e \u06a9\u0627\u0645\u0644 \u0648 \u0634\u0641\u0627\u0641 \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u061b \u0645\u0646\u0627\u0633\u0628 \u062f\u0631\u06a9 \u0639\u0645\u06cc\u0642 \u0645\u0641\u0627\u0647\u06cc\u0645 \u0648 \u0631\u0641\u0639 \u0627\u0628\u0647\u0627\u0645.\r\n    <\/li>\r\n\r\n    <li>\r\n        <strong>\u06a9\u062a\u0627\u0628 \u0635\u062f\u0647\u0627 \u067e\u0631\u0633\u0634 \u0648 \u067e\u0627\u0633\u062e \u0686\u0647\u0627\u0631\u06af\u0632\u06cc\u0646\u0647\u200c\u0627\u06cc \u2013 \u0646\u0633\u062e\u0647 PDF (\u0646\u0633\u062e\u0647 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0633\u0631\u06cc\u0639)<\/strong><br>\r\n        \u2014 \u067e\u0627\u0633\u062e\u200c\u0647\u0627 \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u067e\u0633 \u0627\u0632 \u0633\u0624\u0627\u0644 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u0646\u062f\u061b \u0645\u0646\u0627\u0633\u0628 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0633\u0631\u06cc\u0639 \u0648 \u062a\u062b\u0628\u06cc\u062a \u0645\u0637\u0627\u0644\u0628.\r\n    <\/li>\r\n\r\n    <li>\r\n        <strong>\u06a9\u062a\u0627\u0628 \u0635\u062f\u0647\u0627 \u067e\u0631\u0633\u0634 \u0648 \u067e\u0627\u0633\u062e \u0686\u0647\u0627\u0631\u06af\u0632\u06cc\u0646\u0647\u200c\u0627\u06cc \u2013 \u0646\u0633\u062e\u0647 PDF (\u0646\u0633\u062e\u0647 \u062e\u0648\u062f\u0622\u0632\u0645\u0627\u06cc\u06cc \u067e\u0627\u06cc\u0627\u0646\u200c\u0628\u062e\u0634)<\/strong><br>\r\n        \u2014 \u067e\u0627\u0633\u062e\u200c\u0647\u0627 \u062f\u0631 \u0627\u0646\u062a\u0647\u0627\u06cc \u0647\u0631 \u0628\u062e\u0634 \u0622\u0645\u062f\u0647\u200c\u0627\u0646\u062f\u061b \u0645\u0646\u0627\u0633\u0628 \u0622\u0632\u0645\u0648\u0646 \u0648\u0627\u0642\u0639\u06cc \u0648 \u0633\u0646\u062c\u0634 \u0645\u06cc\u0632\u0627\u0646 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc.\r\n    <\/li>\r\n\r\n    <li>\r\n        <strong>\u06a9\u062a\u0627\u0628 \u062a\u0645\u0631\u06cc\u0646\u200c\u0647\u0627\u06cc \u062f\u0631\u0633\u062a \/ \u0646\u0627\u062f\u0631\u0633\u062a (True \/ False) \u2013 \u0646\u0633\u062e\u0647 PDF<\/strong><br>\r\n        \u2014 \u0645\u0646\u0627\u0633\u0628 \u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0642\u062a \u0645\u0641\u0647\u0648\u0645\u06cc \u0648 \u062a\u0634\u062e\u06cc\u0635 \u0635\u062d\u06cc\u062d \u06cc\u0627 \u0646\u0627\u062f\u0631\u0633\u062a \u0628\u0648\u062f\u0646 \u06af\u0632\u0627\u0631\u0647\u200c\u0647\u0627.\r\n    <\/li>\r\n\r\n    <li>\r\n        <strong>\u06a9\u062a\u0627\u0628 \u062a\u0645\u0631\u06cc\u0646\u200c\u0647\u0627\u06cc \u062c\u0627\u06cc \u062e\u0627\u0644\u06cc \u2013 \u0646\u0633\u062e\u0647 PDF<\/strong><br>\r\n        \u2014 \u062a\u0642\u0648\u06cc\u062a \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0641\u0639\u0627\u0644 \u0648 \u062a\u0633\u0644\u0637 \u0628\u0631 \u0645\u0641\u0627\u0647\u06cc\u0645 \u0648 \u0627\u0635\u0637\u0644\u0627\u062d\u0627\u062a \u06a9\u0644\u06cc\u062f\u06cc.\r\n    <\/li>\r\n<\/ul>\r\n\t\r\n\t\r\n\t\r\n\t\r\n    <p style=\"color: #388E3C; font-weight: bold; font-size: 18px; margin-top: 20px;\"> \ud83c\udfaf \u0627\u06cc\u0646 \u0628\u0633\u062a\u0647 \u06cc\u06a9 \u062f\u0648\u0631\u0647\u0654 \u0622\u0645\u0648\u0632\u0634\u06cc \u06a9\u0627\u0645\u0644 \u0648\r\n        \u0686\u0646\u062f\u0644\u0627\u06cc\u0647 \u0627\u0633\u062a\u061b \u0634\u0627\u0645\u0644 \u0622\u0645\u0648\u0632\u0634 \u062a\u0635\u0648\u06cc\u0631\u06cc\u060c \u0635\u0648\u062a\u06cc\u060c \u06a9\u062a\u0627\u0628\u200c\u0647\u0627\u060c \u062a\u0645\u0631\u06cc\u0646\u200c\u0647\u0627   \u0648 \u062e\u0648\u062f\u0622\u0632\u0645\u0627\u06cc\u06cc . <\/p>\r\n    <hr style=\"border: none; border-top: 1px dashed #81C784; margin: 20px 0;\">\r\n    <h3 style=\"color: #2E7D32;\">\u2139\ufe0f \u0646\u06a9\u0627\u062a \u0645\u0647\u0645 \u0647\u0646\u06af\u0627\u0645 \u062e\u0631\u06cc\u062f<\/h3>\r\n    <ul style=\"list-style-type: '\ud83d\udd38 '; padding-left: 20px; font-size: 15px; line-height: 1.9;\">\r\n        <li>\u0627\u06cc\u0646 \u0645\u062d\u0635\u0648\u0644 \u0628\u0647 \u0635\u0648\u0631\u062a <strong>\u0641\u0627\u06cc\u0644 \u062f\u0627\u0646\u0644\u0648\u062f\u06cc \u06a9\u0627\u0645\u0644<\/strong> \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0646\u0633\u062e\u0647\u0654 \u0686\u0627\u067e\u06cc \u0646\u062f\u0627\u0631\u062f.<\/li>\r\n        <li>\u062a\u0645\u0627\u0645\u06cc \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0648 \u06a9\u062a\u0627\u0628\u200c\u0647\u0627 <strong>\u06a9\u0627\u0645\u0644\u0627\u064b \u0641\u0627\u0631\u0633\u06cc<\/strong> \u0647\u0633\u062a\u0646\u062f.<\/li>\r\n        <li><strong>\u062a\u0648\u062c\u0647:<\/strong> \u0644\u06cc\u0646\u06a9\u200c\u0647\u0627\u06cc \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062f\u0648\u0631\u0647 \u0637\u06cc <strong>\u06f4\u06f8 \u0633\u0627\u0639\u062a<\/strong> \u067e\u0633 \u0627\u0632 \u062b\u0628\u062a \u0633\u0641\u0627\u0631\u0634 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/li>\r\n        <li>\u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u062f\u0631\u062c \u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06cc\u0644 \u0646\u06cc\u0633\u062a\u061b \u0627\u0645\u0627 \u0628\u0631\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0633\u0631\u06cc\u0639\u200c\u062a\u0631 \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\r\n        <li>\u062f\u0631 \u0635\u0648\u0631\u062a \u0628\u0631\u0648\u0632 \u0645\u0634\u06a9\u0644 \u062f\u0631 \u062f\u0627\u0646\u0644\u0648\u062f \u0628\u0627 \u0634\u0645\u0627\u0631\u0647 <strong>09395106248<\/strong> \u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/li>\r\n        <li>\u0627\u06af\u0631 \u067e\u0631\u062f\u0627\u062e\u062a \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0648\u0644\u06cc \u0644\u06cc\u0646\u06a9\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u062f\u060c \u0646\u0627\u0645 \u0648 \u0646\u0627\u0645 \u062e\u0627\u0646\u0648\u0627\u062f\u06af\u06cc \u0648 \u0646\u0627\u0645 \u0645\u062d\u0635\u0648\u0644 \u0631\u0627 \u067e\u06cc\u0627\u0645\u06a9 \u06a9\u0646\u06cc\u062f \u062a\u0627\r\n            \u0644\u06cc\u0646\u06a9\u200c\u0647\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0634\u0648\u0646\u062f.<\/li>\r\n    <\/ul>\r\n    <p style=\"font-size: 16px; line-height: 1.8; margin-top: 15px;\"> \ud83d\udcac \u0631\u0627\u0647\u200c\u0647\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc:<br> \u0648\u0627\u062a\u0633\u200c\u0627\u067e \u06cc\u0627 \u067e\u06cc\u0627\u0645\u06a9:\r\n        <strong>09395106248<\/strong><br> \u062a\u0644\u06af\u0631\u0627\u0645: <strong>@ma_limbs<\/strong> <\/p>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f &#8211; \u0622\u0645\u0648\u0632\u0634 \u062c\u0627\u0645\u0639 \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f &#8211; \u06cc\u06a9 \u06af\u0627\u0645 \u062c\u0644\u0648\u062a\u0631 \u0627\u0632 \u0631\u0642\u0628\u0627! \u0622\u06cc\u0627 \u0627\u0632 \u0632\u0645\u0627\u0646 \u0637\u0648\u0644\u0627\u0646\u06cc \u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc\u062a\u0627\u0646 \u062e\u0633\u062a\u0647 \u0634\u062f\u0647\u200c\u0627\u06cc\u062f\u061f \u0622\u06cc&#8230;<\/p>\n","protected":false},"featured_media":67493,"comment_status":"open","ping_status":"closed","template":"","meta":{"pmpro_default_level":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}}},"product_cat":[196,1221,213354],"product_tag":[24755,28813,1988,6259,1241,25167,7453,6258,29894,30599,1250,269297,716,51313,1237],"class_list":{"0":"post-323833","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-196","7":"product_cat-1221","8":"product_cat--vite","9":"product_tag-code-quality","10":"product_tag-e2e-testing","11":"product_tag-frontend-development","12":"product_tag-integration-testing","13":"product_tag-javascript","14":"product_tag-jest","15":"product_tag-modern-javascript","16":"product_tag-unit-testing","17":"product_tag-vite","18":"product_tag-vitest","19":"product_tag-web-development","20":"product_tag-269297","21":"product_tag-716","22":"product_tag-51313","23":"product_tag-1237","24":"pmpro-has-access","25":"desktop-align-left","26":"tablet-align-left","27":"mobile-align-left","29":"first","30":"instock","31":"shipping-taxable","32":"purchasable","33":"product-type-variable"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u06a9\u062a\u0627\u0628 Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u06a9\u062a\u0627\u0628 Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633\" \/>\n<meta property=\"og:description\" content=\"Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u0622\u0645\u0648\u0632\u0634 \u062c\u0627\u0645\u0639 \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u06cc\u06a9 \u06af\u0627\u0645 \u062c\u0644\u0648\u062a\u0631 \u0627\u0632 \u0631\u0642\u0628\u0627! \u0622\u06cc\u0627 \u0627\u0632 \u0632\u0645\u0627\u0646 \u0637\u0648\u0644\u0627\u0646\u06cc \u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc\u062a\u0627\u0646 \u062e\u0633\u062a\u0647 \u0634\u062f\u0647\u200c\u0627\u06cc\u062f\u061f \u0622\u06cc...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-21T09:15:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/express24.ir\/d\/wp-content\/uploads\/2025\/05\/Express24_ir.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 \u062f\u0642\u06cc\u0642\u0647\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/\",\"url\":\"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/\",\"name\":\"\u06a9\u062a\u0627\u0628 Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633\",\"isPartOf\":{\"@id\":\"https:\/\/express24.ir\/d\/#website\"},\"datePublished\":\"2025-12-05T07:31:01+00:00\",\"dateModified\":\"2025-12-21T09:15:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u062e\u0627\u0646\u0647\",\"item\":\"https:\/\/express24.ir\/d\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0641\u0631\u0648\u0634\u06af\u0627\u0647\",\"item\":\"https:\/\/express24.ir\/d\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u06a9\u062a\u0627\u0628 Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/express24.ir\/d\/#website\",\"url\":\"https:\/\/express24.ir\/d\/\",\"name\":\"\u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/express24.ir\/d\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fa-IR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u06a9\u062a\u0627\u0628 Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/","og_locale":"fa_IR","og_type":"article","og_title":"\u06a9\u062a\u0627\u0628 Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633","og_description":"Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u0622\u0645\u0648\u0632\u0634 \u062c\u0627\u0645\u0639 \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u06cc\u06a9 \u06af\u0627\u0645 \u062c\u0644\u0648\u062a\u0631 \u0627\u0632 \u0631\u0642\u0628\u0627! \u0622\u06cc\u0627 \u0627\u0632 \u0632\u0645\u0627\u0646 \u0637\u0648\u0644\u0627\u0646\u06cc \u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc\u062a\u0627\u0646 \u062e\u0633\u062a\u0647 \u0634\u062f\u0647\u200c\u0627\u06cc\u062f\u061f \u0622\u06cc...","og_url":"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/","og_site_name":"\u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633","article_modified_time":"2025-12-21T09:15:20+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/express24.ir\/d\/wp-content\/uploads\/2025\/05\/Express24_ir.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646":"2 \u062f\u0642\u06cc\u0642\u0647"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/","url":"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/","name":"\u06a9\u062a\u0627\u0628 Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f - \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633","isPartOf":{"@id":"https:\/\/express24.ir\/d\/#website"},"datePublished":"2025-12-05T07:31:01+00:00","dateModified":"2025-12-21T09:15:20+00:00","breadcrumb":{"@id":"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/express24.ir\/d\/product\/supercourse-0000014603\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u062e\u0627\u0646\u0647","item":"https:\/\/express24.ir\/d\/"},{"@type":"ListItem","position":2,"name":"\u0641\u0631\u0648\u0634\u06af\u0627\u0647","item":"https:\/\/express24.ir\/d\/"},{"@type":"ListItem","position":3,"name":"\u06a9\u062a\u0627\u0628 Vite \u0648 Jest\/Vitest: \u062a\u0633\u062a \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0635\u062d\u062a \u06a9\u062f"}]},{"@type":"WebSite","@id":"https:\/\/express24.ir\/d\/#website","url":"https:\/\/express24.ir\/d\/","name":"\u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0627\u06a9\u0633\u067e\u0631\u0633","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/express24.ir\/d\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fa-IR"}]}},"_links":{"self":[{"href":"https:\/\/express24.ir\/d\/wp-json\/wp\/v2\/product\/323833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/express24.ir\/d\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/express24.ir\/d\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/express24.ir\/d\/wp-json\/wp\/v2\/comments?post=323833"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/express24.ir\/d\/wp-json\/wp\/v2\/media\/67493"}],"wp:attachment":[{"href":"https:\/\/express24.ir\/d\/wp-json\/wp\/v2\/media?parent=323833"}],"wp:term":[{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/express24.ir\/d\/wp-json\/wp\/v2\/product_cat?post=323833"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/express24.ir\/d\/wp-json\/wp\/v2\/product_tag?post=323833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}