我想让我的第一个Jest Test通过React和Babel.
我收到以下错误:
SyntaxError:/Users/manueldupont/test/avid-sibelius-publishing-viewer/src/components/TransportButton/TransportButton.less:意外的令牌
> 7 | @import '../variables.css';
| ^
Run Code Online (Sandbox Code Playgroud)
我的package.json配置为jest看起来像这样:
"babel": {
"presets": [
"es2015",
"react"
],
"plugins": [
"syntax-class-properties",
"transform-class-properties"
]
},
"jest": {
"moduleNameMapper": {
"^image![a-zA-Z0-9$_-]+$": "GlobalImageStub",
"^[./a-zA-Z0-9$_-]+\\.png$": "RelativeImageStub"
},
"testPathIgnorePatterns": [
"/node_modules/"
],
"collectCoverage": true,
"verbose": true,
"modulePathIgnorePatterns": [
"rpmbuild"
],
"unmockedModulePathPatterns": [
"<rootDir>/node_modules/react/",
"<rootDir>/node_modules/react-dom/",
"<rootDir>/node_modules/react-addons-test-utils/",
"<rootDir>/node_modules/fbjs",
"<rootDir>/node_modules/core-js"
]
},
Run Code Online (Sandbox Code Playgroud)
那我错过了什么?
我正在使用Jest来测试我的React应用程序.
最近,我将DeckGL添加到了我的应用程序中.我的测试因此错误而失败:
Test suite failed to run
/my_project/node_modules/deck.gl/src/react/index.js:21
export {default as DeckGL} from './deckgl';
^^^^^^
SyntaxError: Unexpected token export
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:318:17)
at Object.<anonymous> (node_modules/deck.gl/dist/react/deckgl.js:9:14)
at Object.<anonymous> (node_modules/deck.gl/dist/react/index.js:7:15)
Run Code Online (Sandbox Code Playgroud)
这似乎是Jest在运行它的测试之前转换节点模块的问题.
这是我的.babelrc:
{
"presets": ["react", "es2015", "stage-1"]
}
Run Code Online (Sandbox Code Playgroud)
这是我的开玩笑设置:
"jest": {
"testURL": "http://localhost",
"setupFiles": [
"./test/jestsetup.js"
],
"snapshotSerializers": [
"<rootDir>/node_modules/enzyme-to-json/serializer"
],
"moduleDirectories": [
"node_modules",
"/src"
],
"moduleNameMapper": {
"\\.(css|scss)$": "<rootDir>/test/EmptyModule.js"
}
},
Run Code Online (Sandbox Code Playgroud)
我似乎有正确的事情需要改造export {default as DeckGL }
.所以任何想法都会出错?