我正在尝试使用jest
,react
,redux
来测试我的组件,但我一直收到以下错误:
● Test suite failed to run
stream-react-redux/src/containers/App/App.css:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){.app {
SyntaxError: Unexpected token .
我已按照有关如何添加identity-obj-proxy
和配置.jestrc
文件的说明进行操作,但我仍然遇到同样的错误。当我开始使用 css-modules 并在我的组件中导入它们时出现了问题
这是我的.jestrc
:
{
"moduleFileExtensions": [ "js", "jsx"],
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
"^.+\\.(css)$": "identity-obj-proxy"
},
"transform": {
"^.+\\.(js|jsx)$": "babel-jest"
},
"verbose": true
}
我还在["es2015", { "modules": false } ]
文件中添加了.babelrc
。
答案 0 :(得分:2)
我查看了Jest文档,为了清楚起见,您安装了jquery('pre').eq(1).remove();
吗?
identity-obj-proxy
另外,我看到Jest docs中推荐的文件正则表达式是
npm install --save-dev identity-obj-proxy
可能会尝试切换你的匹配。
最后,您可以尝试像"\\.(css|less)$": "identity-obj-proxy"
答案 1 :(得分:1)
所以在尝试了一切后,我仍然得到同样的错误。
我刚注意到的是,当我在.jestrc
文件中指定我的配置时,我的测试因.css
而生效,但是当我从package.json
执行时,一切正常。< / p>
修改强>
#package.json
"jest": {
"moduleNameMapper": {
"\\.css$": "identity-obj-proxy"
},
"transform": {
"\\.js$": "babel-jest"
}