Jest - Как использовать импорт корневых косых черт с babel-jest?
Я использую Babel Jest для переноса моего кода в целях тестирования. Я не могу понять, как использовать путь относительно корня проекта.
Например, если в тестовом файле я импортирую модуль с: /imports/ui/myModule
Jest выдает ошибку
Cannot find module
'/Users/me/dev/myProject/Users/me/dev/myProject/imports/ui/myModule' from 'test.jsx'`
Но если я импортирую модуль с относительным путем, например: ../../ui/myModule
оно работает.
мой .babelrc
:
{
"plugins": [
"transform-decorators-legacy",
"transform-class-properties",
"babel-root-slash-import"
],
"presets": [
"es2015",
"react",
"stage-0"
],
"env": {
"test": {
"plugins": [
"transform-decorators-legacy",
"transform-class-properties",
"babel-root-slash-import"
],
"presets": [
"es2015",
"react",
"stage-0"
]
}
}
}
Мой конфиг Jest:
"jest": {
"roots": ["<rootDir>/imports/tests/jest"]
},
1 ответ
Например, вы можете использовать moduleNameMapper
опция конфигурации.
// package.json
{
"jest": {
"roots": ["<rootDir>/imports/tests/jest"]
},
"moduleNameMapper": [
"^ui/(.*)$": "<rootDir>/imports/ui/$1"
]
}
// test.jsx
import myModule from 'imports/ui/myModule';
Соответствующий ответ по SO: Тестирование с использованием псевдонимов Jest и Webpack
Еще один пример из jest
Официальная документация: https://facebook.github.io/jest/docs/en/webpack.html