jest

vscode vscodium launch.json Jest: Как запускать Typescript

Через ts-node

Можно запускать через пакет ts-node, установите его (по-идее можно и как зависимость чисто для разработки) и затем можно использовать такую конфигурацию:

jest typescript (WARN) Define `ts-jest` config under `globals` is deprecated. Please do transform

ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
transform: {

: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
},

Возможное решение

Переписать с варианта:

export  default  {
  moduleDirectories: ['node_modules', '<rootDir>'],
  preset: 'ts-jest',
  testEnvironment: 'node',
  extensionsToTreatAsEsm: ['.ts'],
  globals: {
    "ts-jest": {
      "useESM": true
    }
  },
};

НА:

Jest и Typescript: Как настроить работу

Для nodejs 20, можно проверсти такие настройки

  1. Запускать тесты будем командой:
    npm test

    Которую можно как-то так:

    "scripts": {
        "test": "node --experimental-vm-modules node_modules/.bin/jest tests/__tests__"
    }

    -- где в нашем случае tests/__tests__ -- папка (относительно корня проекта), в которой лежат тесты.

The 'import.meta' meta-property is only allowed when the - Jest Typescript

В ответ на запуск команды:

node --experimental-vm-modules node_modules/.bin/jest tests/__tests__

получаем:

The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'.

Решение

Решение уже обсуждалось тут

#1 Начало работы, запуск теста и отладки- Pascal-js-intro

После того, как проект открыт в vs-codium, с помощью команды в терминале в корне проекта:

 npm ci

мы подтянули пакеты, в числе которых jest.

Jest представляет собой фреймворк для налаживания юнит теститорвания (junit testing) JavaScript. Unit testing - это тестирование отдельных модулей исходного кода.

ts-jest The 'import.meta' meta-property is only allowed (typescript) Ошибка, решение

TS1343: The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'esnext', or 'system'.

При это этом tsconfig.json выглядит так:

jest import Не работает импорт по абсолютному пути

Решение

Решали с помощью добавления в корень проекта файла jest.config.json с содержимым:

export  default  {
    moduleDirectories: ['node_modules', '<rootDir>'],
  };

Источник идеи: https://stackoverflow.com/a/67811344

При этом jsconfig.json имел вид:

npm scripts Как передать параметры для nodejs

Общая идея такова - в секции scripts вместо:

jest 

надо писать вызов

node --experimental-vm-modules node_modules/.bin/jest

Например, вместо:

"scripts": {
        "testme": "jest __tests__/demo/first.test.js"
    }

Напишем:

"scripts": {
        "testme": "node --experimental-vm-modules node_modules/.bin/jest __tests__/demo/first.test.js"
    }

Pages

Subscribe to RSS - jest