TypeScript Academy · Lekcja

Konfiguracja Jest dla TypeScript z ts-jest

Zainstaluj i skonfiguruj ts-jest dla projektu TypeScript.

Lekcja 1 z 413 kroki

Konfiguracja Jest dla TypeScript z ts-jest to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej TypeScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs TypeScript Academy zawiera 4 lekcji w sumie.

Witamy

Należy skonfigurować Jest tak, aby bezpośrednio uruchamiał testy TypeScript przy użyciu ts-jest lub Babel z obsługą TypeScript.

Instalowanie ts-jest

Należy zainstalować Jest, ts-jest oraz typy TypeScript.
npm install --save-dev jest ts-jest @types/jest typescript

jest.config.ts

Należy skonfigurować Jest tak, aby używał ts-jest jako transformera.
export default {
  preset: 'ts-jest',
  testEnvironment: 'node',
  globals: { 'ts-jest': { tsconfig: 'tsconfig.json' } },
};

tsconfig dla testów

Można używać osobnego pliku tsconfig.test.json z ustawieniami przeznaczonymi dla testów.
{ "extends": "./tsconfig.json", "compilerOptions": { "types": ["jest"] } }

Uruchamianie testów

Testy należy uruchamiać za pomocą polecenia jest.
npx jest
npx jest --watch
npx jest --coverage

Alternatywa dla Vitest

Vitest jest szybszy niż Jest w projektach TypeScript i wymaga minimalnej konfiguracji.
npm install --save-dev vitest
// vitest.config.ts: { test: { environment: 'node' } }

Transformacja SWC dla większej szybkości

Zamiast ts-jest można użyć @swc/jest, aby znacznie przyspieszyć wykonywanie testów.
npm install --save-dev @swc/core @swc/jest
// jest.config.ts: transform: { "^.+\.[tj]s$": ["@swc/jest"] }

Aliasy ścieżek w testach

Należy skonfigurować moduleNameMapper, aby rozwiązywał aliasy ścieżek w Jest.
{ moduleNameMapper: { '^@/(.*)$': '<rootDir>/src/$1' } }

Nazewnictwo plików testowych

Pliki testów TypeScript używają rozszerzeń .test.ts lub .spec.ts.

Sprawdzanie typów w testach

ts-jest sprawdza typy podczas testów, chyba że ustawiono isolated: false.
// ts-jest: { diagnostics: false } — disable type checking for speed

Obsługa ESM

W przypadku TypeScript ESM używanego z Jest należy ustawić NODE_OPTIONS=--experimental-vm-modules.
NODE_OPTIONS=--experimental-vm-modules npx jest

Szybkie sprawdzenie

Które ustawienie ts-jest pomija sprawdzanie typów TypeScript podczas uruchamiania testów, aby je przyspieszyć?

Podsumowanie

Konfiguracja Jest dla TypeScript z ts-jest: opanowano najważniejsze pojęcia i wzorce.
Bezpłatny start

Ucz się TypeScript dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
101
Lekcje
352

Często zadawane pytania

Czy lekcja „Konfiguracja Jest dla TypeScript z ts-jest” jest bezpłatna?

Tak — pełny tekst „Konfiguracja Jest dla TypeScript z ts-jest” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu TypeScript Academy, przejdź na CoddyKit PRO. Kurs TypeScript Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Konfiguracja Jest dla TypeScript z ts-jest”?

Zainstaluj i skonfiguruj ts-jest dla projektu TypeScript. Ćwiczysz TypeScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć TypeScript Academy?

Nie wymagamy żadnego doświadczenia. TypeScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Konfiguracja Jest dla TypeScript z ts-jest”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji TypeScript Academy?

Tak. Każda lekcja TypeScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Konfiguracja Jest dla TypeScript z ts-jest
  2. Pisanie bezpiecznych typowo testów jednostkowych
  3. Mockowanie modułów i funkcji w TypeScript
  4. Testowanie typów za pomocą expectTypeOf i tsd
← Powrót do TypeScript Academy