代码之家  ›  专栏  ›  技术社区  ›  intercoder

使用jest和css模块测试react组件时出错

  •  2
  • intercoder  · 技术社区  · 7 年前

    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模块

    这是我的 .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 文件

    2 回复  |  直到 6 年前
        1
  •  3
  •   intercoder    7 年前

    我刚刚注意到的是,当我在 .jestrc 提交我的测试制动器,因为 .css package.json 一切正常。

    编辑

    #package.json
    
    
      "jest": {
        "moduleNameMapper": {
          "\\.css$": "identity-obj-proxy"
        }, 
        "transform": {
          "\\.js$": "babel-jest"
        }
    
        2
  •  2
  •   Garrett McCullough    7 年前

    我看了Jest文档,说清楚了,你安装了吗 identity-obj-proxy ?

    npm install --save-dev identity-obj-proxy

    此外,我看到Jest文档中推荐的文件regex是

    "\\.(css|less)$": "identity-obj-proxy"

    可以尝试切换您的以匹配。

    最后,你可以试试jest插件,比如 jest-css-modules

    https://github.com/justinsisley/Jest-CSS-Modules