问题:Jest 找不到模块 FileName.css(映射为 identity-obj-proxy)

我一直在尝试为我的 React 项目设置测试环境,但在导入 CSS 文件时遇到了 Unexpected token 的问题。我将 moduleNameMapper 添加到 package.json 以修复它,现在我面临这个问题。有谁知道我能做些什么来解决这个问题?

> myProject@0.0.1 test C:\Users\admin\Documents\myApp
> jest

FAIL _tests_\Home.test.js
  ● Test suite failed to run

    Configuration error:

    Could not locate module react-datepicker/dist/react-datepicker-cssmodules.css (mapped as identity-obj-proxy)

    Please check:

    "moduleNameMapper": {
      "/^.+\.(css|less)$/": "identity-obj-proxy"
    },
    "resolver": undefined

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        1.894s
Ran all test suites.
npm ERR! Test failed.  See above for more details.

package.json 的玩笑部分

  "jest": {
    "transform": {
      "^.+\\.jsx?$": "babel-jest"
    },
    "moduleNameMapper": {
      "\\.(s?css|less)$": "identity-obj-proxy"
    }
  },

解答

确保你的 devDependencies 中有 identity-obj-proxy

"devDependencies": {
  "identity-obj-proxy": "^3.0.0",
  ...
}

如果没有,运行

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

React社区为您提供最前沿的新闻资讯和知识内容

更多推荐