React JS Jest вызывает " SyntaxError: неожиданный токен."
Теперь я использую react JEST для тестирования кода. Если компонент один, а не импортирует что-либо еще, "тест npm" работает гладко, и теперь я хочу протестировать несколько компонентов вместе, и я сразу получил эту ошибку:
SyntaxError: Unexpected token .
казалось, всякий раз, когда react импортирует что-то еще, например, это:
require( './style/fixed-data-table.css' );
require( './style/jnpr-datatable.scss' );
а затем с помощью jest бросает неожиданный токен"." ошибка.
там должно быть что-то не так в моих настройках, но где? Мой Пакет.json содержит:
"jest": {
"unmockedModulePathPatterns": [
"<rootDir>/node_modules/react/",
"<rootDir>/node_modules/react-dom/",
"<rootDir>/node_modules/react-addons-test-utils/"
]
}
а .babelrc уже в корне. Также включен babel-jest. Спасибо
2 ответов
посмотрите на документы jest для интеграция webpack. Проблема в том, что jest не может работать с другими вещами, чем js. Таким образом, вы должны издеваться над всеми файлами JS, которые вы импортируете. Самый простой способ-настроить moduleNameMapper
в ваших конфигурациях jest.
{
"jest": {
"moduleNameMapper": {
"\.(css|scss)$": "<rootDir>/__mocks__/styleMock.js"
}
}
}
С __mocks__/styleMock.js
это выглядит так.
module.exports = {};
то, как я ушел с этим, было добавлением этих двух строк к моему
{
"presets": ["env", "react"],
"plugins": ["transform-class-properties"]
}
и мой пакет.json выглядит так:
{
"name": "crud-redux",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.4.0",
"react-dom": "^16.4.0",
"react-scripts": "1.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "NODE_ENV=test jest",
"eject": "react-scripts eject"
},
"devDependencies": {
"babel-jest": "^18.0.0",
"babel-loader": "^6.4.1",
"babel-plugin-transform-decorators-legacy": "^1.3.5",
"enzyme": "^2.9.1",
"jest": "^23.1.0",
"react-addons-test-utils": "^15.6.2",
"react-test-renderer": "^15.6.2",
"redux-mock-store": "^1.5.1",
"webpack": "^1.15.0",
"webpack-dev-server": "^1.16.5"
}
}