У меня возникли проблемы с интеграцией модульных тестов в определенную папку моего проекта.Неожиданный импорт маркера с помощью Jest (babel-eslint недоступен из проверенного файла, symlink env)
Моя архитектура выглядит следующим образом:
|_ shared
|_ job-board
|_ admin-panel
job_board и админ-панель каждый содержит симлинк указывая на общий, в ./client/src/shared
, и каждый содержит node_modules
папку с babel- установлен eslint. shared НЕ содержит папку node_modules и использует два узла node_modules.
С этой архитектурой мне удалось настроить все инструменты, которые я использую (Webpack, eslint, eslint-loader, ... но Jest).
Проблема заключается в том, когда я создаю * .test.js файл в job_board/*
или admin_panel/*
, столпотворении-шутка правильно применяются на этот файл, но когда я создаю этот файл в shared/*
, столпотворение-шутка не применяется (а столпотворение-шутка не доступна в shared
), так как следующая ошибка доказывает:
FAIL ..\shared\utils\tests\StringUtils.test.js
● Test suite failed to run
SyntaxError: Unexpected token import
Вот мой Шутки-config.json файла:
{
"moduleFileExtensions": [
"js"
],
"moduleNameMapper": {
"\\.(css|scss)$": "identity-obj-proxy"
},
"modulePaths": [
"<rootDir>/client"
],
"testPathDirs": [
"<rootDir>",
"<rootDir>/../shared"
],
"testRegex": "(\\.|/)test\\.jsx?$"
}
(Примечание-е у меня было добавить "<rootDir>/../shared"
к testPathDirs
так что * .test.js файлы могут быть найдены)
И мой .babelrc файл:
{
"plugins": [
"transform-decorators-legacy",
"transform-object-rest-spread"
],
"presets": [
["es2015", { "modules": false }],
"react",
"stage-0"
],
"env": {
"development": {
"presets": [
"react-hmre"
]
},
"test": {
"plugins": ["transform-es2015-modules-commonjs"]
}
}
}
Наконец, я бегу моих тестов с: node --harmony_proxies node_modules/jest-cli/bin/jest.js --config ./jest-config.json
Я что-то пропустил, или это действительно отсутствие функции, дающей возможность предоставить «корень» для babel-eslint или что-то еще?
Я также открыл вопрос о реестре Jest, но он был закрыт. И вот я здесь!
Jest конфигурация, вставленная выше.
Шутка-кли: 18.1.0
узел: 5.6.0
НПМ: 3.6.0
ОС: Windows 10
Да, я старался, без изменений. Поскольку я использую webpack2, я отключил преобразование модулей в commonJS в dev/prod, но включил его обратно в test env (см. Мой .babelrc). – Zephir77167