Jest无法加载下划线

问题描述 投票:8回答:3

获取错误TypeError:无法读取未定义的属性“ _”

在线从“下划线”导入_;

运行Jest-React测试用例时。

underscore.js jestjs
3个回答
7
投票

我也遇到了同样的错误,希望这个答案会有所帮助。要将外部模块/库加载到Jest测试套件中。首先,您必须配置测试设置,请参见此处的示例。

请参阅setupFiles下的更多内容

// jest.config.js
module.exports = {
  setupFiles : ["./setup-jest.js"]
}

// setup-jest.js
import lodash from 'lodash'
global._ = lodash

相反,您可以使用下划线或任何模块/库。希望这会有所帮助。


0
投票

这是一个丑陋的解决方法,但是我在玩笑的配置中用lodash替换了下划线,并且效果很好:

module.exports = {
…
    moduleNameMapper: {
        underscore$: 'lodash',
    },
…
};

0
投票

以下为我工作:

我不喜欢拥有jest.config.js文件,所以我使用package.json中的配置:

"jest": {
  "setupFilesAfterEnv": ["<rootDir>/setupJest.js"],
  ...
}

并且在setupJest.js中:

import _ from "underscore"
global._ = _
© www.soinside.com 2019 - 2024. All rights reserved.