Jest и Typescript: Как настроить работу
Primary tabs
Для nodejs 20, можно проверсти такие настройки
- Запускать тесты будем командой:
npm test
Которую можно как-то так:
"scripts": { "test": "node --experimental-vm-modules node_modules/.bin/jest tests/__tests__" }
-- где в нашем случае tests/__tests__ -- папка (относительно корня проекта), в которой лежат тесты.
- Далее, package.json должен иметь зависимость, от пакета ts-jest, и в целом может выглядеть как-то так:
{ "name": "pascal-js-intro", "description": "How to start code PascalJS", "type": "module", "devDependencies": { "@types/jest": "^29.5.12", "@types/node": "^20.11.26", "jest": "^29.7.0", "ts-jest": "^29.1.2", "typescript": "^5.4.2" }, "scripts": { "test": "node --experimental-vm-modules node_modules/.bin/jest tests/__tests__" } }
- Файл tsconfig.json (в корне проекта) в нашей кофигурации имеет вид:
{ "compilerOptions": { "baseUrl": ".", "outDir": "./built", // fake output dif (haven't been used yet) "allowJs": true, "target": "es6", "module": "es2020", "sourceMap": true , "moduleResolution":"node", "isolatedModules": true, "esModuleInterop": true, }, "include": ["./src/**/*", "./tests/**/*"] }
-
Файл jest.config.js:
export default { moduleDirectories: ['node_modules', '<rootDir>'], preset: 'ts-jest', testEnvironment: 'node', extensionsToTreatAsEsm: ['.ts'], transform: { '^.+\\.tsx?$': [ 'ts-jest', { "useESM": true } ] }, };
-- этого должно хватить для запуска через:
npm test
- Log in to post comments
- 322 reads