У меня есть следующие deps:
"@babel/core": "^7.2.2",
"enzyme": "^3.8.0",
"enzyme-adapter-react-16": "^1.9.1",
следующие devDeps:
"babel-jest": "^24.1.0",
"enzyme-to-json": "^3.3.5",
"jest": "^24.1.0",
"jest-transform-graphql": "^2.1.0",
и запускаю мой тестовый скрипт через "test": "SET NODE_ENV=test & jest --watch"
Следующая конфигурация babelживет внутри моего пакета. json
"jest": {
"setupFiles": [
"<rootDir>/jest.setup.js"
],
"testPathIgnorePatterns": [
"<rootDir>/.next/",
"<rootDir>/node_modules/"
],
"transform": {
"\\.(gql|graphql)$": "jest-transform-graphql",
".*": "babel-jest"
}
},
"babel": {
"env": {
"test": {
"presets": [
[
"next/babel",
{
"@babel/preset-env": {
"modules": "commonjs"
}
}
]
],
"plugins": [
[
"styled-components",
{
"ssr": true,
"displayName": true
}
]
]
}
}
}
При следовании стандартным настройкам ферментов согласно их документам :
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });
я получаю следующую ошибку:
import { configure } from 'enzyme';
^
SyntaxError: Unexpected token {
При поиске и устранении неисправностей я нашел несколько попыток решения с использованием babel-plugin-dynamic-import-node
, однако либо я настроил его неправильно, либо это не решило бы мою проблему с самого начала.
Кроме того, когда я использую решение ES5 для файла конфигурации, проблема сохраняется в других тестовых файлах, использующих ES6 import { abc } from 'xyz'
.
Что не так с моей настройкой преобразования?