0Pricing
TypeScript Academy · درس

إعداد Jest لـ TypeScript باستخدام ts-jest

ثبّتوا ts-jest واضبطوه لمشروع TypeScript

إعداد Jest لـ TypeScript باستخدام ts-jest درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في TypeScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة TypeScript Academy 4 دروس في المجموع.

مرحبًا

اضبط Jest لتشغيل اختبارات TypeScript مباشرةً باستخدام ts-jest أو Babel مع دعم TypeScript.

تثبيت ts-jest

ثبّت Jest وts-jest وأنواع TypeScript.
npm install --save-dev jest ts-jest @types/jest typescript

jest.config.ts

اضبط Jest لاستخدام ts-jest كأداة التحويل.
export default {
  preset: 'ts-jest',
  testEnvironment: 'node',
  globals: { 'ts-jest': { tsconfig: 'tsconfig.json' } },
};

tsconfig للاختبارات

يمكنك استخدام ملف tsconfig.test.json منفصل للإعدادات الخاصة بالاختبارات.
{ "extends": "./tsconfig.json", "compilerOptions": { "types": ["jest"] } }

تشغيل الاختبارات

شغّل الاختبارات باستخدام الأمر jest.
npx jest
npx jest --watch
npx jest --coverage

بديل Vitest

يُعد Vitest أسرع من Jest في مشاريع TypeScript، ويتطلب إعدادًا بسيطًا.
npm install --save-dev vitest
// vitest.config.ts: { test: { environment: 'node' } }

تحويل SWC لزيادة السرعة

استخدم @swc/jest بدلًا من ts-jest لتسريع تنفيذ الاختبارات بدرجة ملحوظة.
npm install --save-dev @swc/core @swc/jest
// jest.config.ts: transform: { "^.+\.[tj]s$": ["@swc/jest"] }

أسماء المسارات البديلة في الاختبارات

اضبط moduleNameMapper لحل أسماء المسارات البديلة في Jest.
{ moduleNameMapper: { '^@/(.*)$': '<rootDir>/src/$1' } }

تسمية ملفات الاختبار

تستخدم ملفات اختبارات TypeScript الامتدادات .test.ts أو .spec.ts.

فحص الأنواع في الاختبارات

يجري ts-jest فحص الأنواع أثناء الاختبارات ما لم يتم ضبط isolated: false.
// ts-jest: { diagnostics: false } — disable type checking for speed

دعم ESM

لاستخدام TypeScript مع ESM وJest، اضبط NODE_OPTIONS=--experimental-vm-modules.
NODE_OPTIONS=--experimental-vm-modules npx jest

تحقق سريع

ما إعداد ts-jest الذي يتخطى فحص أنواع TypeScript أثناء تشغيل الاختبارات لتسريعها؟

مراجعة

إعداد Jest لـ TypeScript باستخدام ts-jest: أتقنت المفاهيم والأنماط الأساسية.

الأسئلة الشائعة

هل درس «إعداد Jest لـ TypeScript باستخدام ts-jest» مجاني؟

نعم — نص درس «إعداد Jest لـ TypeScript باستخدام ts-jest» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 4 دروس في المجموع.

ماذا ستتعلم في «إعداد Jest لـ TypeScript باستخدام ts-jest»؟

ثبّتوا ts-jest واضبطوه لمشروع TypeScript تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟

لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «إعداد Jest لـ TypeScript باستخدام ts-jest»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟

نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إعداد Jest لـ TypeScript باستخدام ts-jest
  2. كتابة اختبارات وحدات آمنة من ناحية الأنواع
  3. محاكاة الوحدات والدوال في TypeScript
  4. اختبار الأنواع باستخدام expectTypeOf وtsd
← العودة إلى TypeScript Academy