Я пытаюсь протестировать свой проект Next. js с помощью Jest и Enzyme. Когда я пытаюсь импортировать файл из моих компонентов, чтобы проверить его, выдается ошибка. Вот мои файлы ...
В пакете. json Моя шутливая конфигурация:
"jest": {
"setupFilesAfterEnv": "<rootDir>/jest.setup.js",
"testPathIgnorePatterns": [
"<rootDir>/.next/",
"<rootDir>/node_modules/"
],
"transform": {
"\\.(gql|graphql)$": "jest-transform-graphql",
".*": "babel-jest",
"^.+\\.js?$": "babel-jest"
}
},
"//": "I prefer this over a .babelrc file",
"babel": {
"env": {
"development": {
"presets": [
"next/babel"
],
"plugins": [
[
"styled-components",
{
"ssr": true,
"displayName": true
}
]
]
},
"production": {
"presets": [
"next/babel"
],
"plugins": [
[
"styled-components",
{
"ssr": true,
"displayName": true
}
]
]
},
"test": {
"presets": [
[
"next/babel",
{
"preset-env": {
"modules": "commonjs"
}
}
]
],
"plugins": [
[
"styled-components",
{
"ssr": true,
"displayName": true
}
]
]
}
}
}
И впоследствии в jest.setup. js:
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({ adapter: new Adapter() });
Однако я всегда сталкиваюсь с этой ошибкой в любое время, когда я хочу ** импортировать файл ** (Здесь, например, я пытаюсь импортировать файл, а именно "import ItemComponent из '../components/Item';"):
Jest обнаружил неожиданный токен
Обычно это означает, что вы пытаетесь импортировать файл, который Jest не может анализ, например, это не просто JavaScript.
По умолчанию, если Jest видит конфигурацию Babel, он будет использовать ее для преобразования ваших файлов, игнорируя "node_modules". Ошибка синтаксиса: неожиданный идентификатор
Подробности:
SyntaxError: C:\Users\Welcome\Desktop\Advanced-React-master\sick-fits\frontend\__tests__\Item.test.js: Unexpected token (20:28)
18 | describe('<Item/>', () => {
19 | it('renders and matches the snapshot', () => {
> 20 | const wrapper = shallow(<ItemComponent item={fakeItem} />);
| ^
21 | expect(wrapper).toMatchSnapshot();
22 | });
23 | // it('renders and displays properly', () => {
at Parser.raise (node_modules/@babel/parser/lib/index.js:3939:15)
at Parser.unexpected (node_modules/@babel/parser/lib/index.js:5248:16)
at Parser.parseExprAtom (node_modules/@babel/parser/lib/index.js:6328:20)
at Parser.parseExprSubscripts (node_modules/@babel/parser/lib/index.js:5924:21)
at Parser.parseMaybeUnary (node_modules/@babel/parser/lib/index.js:5903:21)
at Parser.parseExprOps (node_modules/@babel/parser/lib/index.js:5812:21)
at Parser.parseMaybeConditional (node_modules/@babel/parser/lib/index.js:5784:21)
at Parser.parseMaybeAssign (node_modules/@babel/parser/lib/index.js:5731:21)
at Parser.parseExprListItem (node_modules/@babel/parser/lib/index.js:6995:18)
at Parser.parseCallExpressionArguments (node_modules/@babel/parser/lib/index.js:6124:22)
Любая помощь будет оценена