javascript - 配置 Jest moduleNameMapper 不起作用

标签 javascript reactjs mocking jestjs

我想应用一个 Jest 测试来 react 组件,我收到一个错误,上面写着:

Jest encountered an unexpected token



当我尝试:
import moment from 'moment';
import './style.css';   //<----here

我尝试模拟 css 文件和图像对象并更改配置:
// package.json
{
"jest": {
"moduleNameMapper": {
  "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
  "\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
}
}
}

我的 styleMock.js 是:
module.exports = {};

我的 fileMock.js 是:
module.exports = 'test-file-stub';

但我仍然得到错误:

Jest encountered an unexpected token



并且错误与以前的位置相同。

我的 Jest 是最新版本“24.8.0”。

有谁知道为什么?

最佳答案

我用这个库来做 identity-obj-proxy

npm install identity-obj-proxy

改变这一行:
"\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"

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

关于javascript - 配置 Jest moduleNameMapper 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56372863/

相关文章:

javascript - 找到 img 属性并更改 div 内的 src 值

javascript - Angular ng-options 选择未设置为初始值

reactjs - React-google-maps 点击 map 获取坐标

django - 使用 post_save 信号模拟 django 模型上的方法

javascript - 包含来自其他网站的 html 文件吗?

javascript - 使用 react-router 为单个路由设置动画

javascript - 等待两个单独的 promise 解决,以便更新状态

ruby - 您如何测试是否会调用 Ruby 析构函数?

unit-testing - Mocking 的目的

javascript - Google Charts - 堆积柱形图的趋势线