我有一个config
and constants
我的项目中的文件夹。位于src\config\test.ts
& src\constants\index.js
分别。
我已经设置了 Jest 来使用moduleNameMapper
如下所示,这样我就可以做import config from 'config'
and import { SOME_CONST } from 'constants'
"moduleNameMapper": {
"config$": "<rootDir>/src/config/test.js",
"constants$": "<rootDir>/src/constants/index.js"
}
但是,在我的测试中,任何使用的文件import { SOME_CONST } from 'constants'
总是得到一个undefined
价值SOME_CONST
而我们默认导出的任何config
工作正常。
这是一个已知的问题?我在这里做错了什么吗?似乎无法确定它。
我和你遇到了同样的问题,但我最终发现了这个github问题 https://github.com/facebook/jest/issues/1641解决这个问题。看起来像constants
是一个核心模块,因此在 jest 的模块映射之前进行评估。我发现这条评论 https://github.com/facebook/jest/issues/1641#issuecomment-267517156这对我有用,并说将其放入您的测试文件中:
jest.mock('constants', () => require('path/to/your/constants'))
另一种方法是按照 @dougajmcdonald 中的建议进行操作他的评论 https://stackoverflow.com/users/777733/dougajmcdonald上面,并将您的 webpack 别名重命名为constants
到其他事情,例如app-constants
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)