#node.js #typescript #jestjs #ts-jest
Вопрос:
Я не могу импортировать абсолютные пути в пользовательской тестовой среде Jest. Упрощенное репо здесь: https://github.com/kyle-banner/ts-customtestenvironment-jest
Запустите yarn int
, и вы увидите ошибку
FAIL path/to/test/something.integration.test.ts
● Test suite failed to run
Cannot find module 'src/config'
Ответ №1:
Одним из возможных решений этой проблемы, как было предложено командой Jest, является самостоятельная ссылка на пакет, используя его имя. Я обновил репозиторий примеров, чтобы отразить это решение.
пакет.json
{
"name": "test-proj",
...
"exports": {
".": "./index.js",
"./serverConfig": "./src/config/index.ts"
}
}
Тестовая среда.ts
const NodeEnvironment = require('jest-environment-node');
// @ts-ignore
import serverConfig from 'test-proj/serverConfig';
class CustomEnvironment extends NodeEnvironment {
constructor(config, context) {
super(config, context);
}
async setup() {
await super.setup();
this.global.someGlobalObject = serverConfig;
}
async teardown() {
await super.teardown();
}
}
module.exports = CustomEnvironment;