TypeScript Academy · บทเรียน

การตั้งค่า Jest สำหรับ TypeScript ด้วย ts-jest

ติดตั้งและกำหนดค่า ts-jest สำหรับโครงการ TypeScript

บทเรียน 1 จาก 413 ขั้นตอน

การตั้งค่า Jest สำหรับ TypeScript ด้วย ts-jest เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 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: คุณได้เข้าใจแนวคิดและรูปแบบสำคัญแล้ว
เริ่มต้นได้ฟรี

เรียนรู้ TypeScript ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
101
บทเรียน
352

คำถามที่พบบ่อย

บทเรียน “การตั้งค่า Jest สำหรับ TypeScript ด้วย ts-jest” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตั้งค่า Jest สำหรับ TypeScript ด้วย ts-jest” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตั้งค่า Jest สำหรับ TypeScript ด้วย ts-jest”

ติดตั้งและกำหนดค่า ts-jest สำหรับโครงการ TypeScript คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การตั้งค่า Jest สำหรับ TypeScript ด้วย ts-jest” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม

ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การตั้งค่า Jest สำหรับ TypeScript ด้วย ts-jest
  2. การเขียนการทดสอบหน่วยที่ปลอดภัยด้านชนิด
  3. การจำลองโมดูลและฟังก์ชันใน TypeScript
  4. การทดสอบชนิดด้วย expectTypeOf และ tsd
← กลับไปที่ TypeScript Academy