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

Для ESM TypeScript с 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 включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Настройка Jest для TypeScript с ts-jest
  2. Написание типобезопасных модульных тестов
  3. Имитация модулей и функций в TypeScript
  4. Проверка типов с помощью expectTypeOf и tsd
← Назад к TypeScript Academy