TL;博士
我想启用某种automock
功能,但仅(并且仅!)针对我在相应__mocks__
文件夹中明确定义的模块。Jest 有办法解决这个问题吗?
也欢迎一般意见和建议。
一点上下文:( 可选)
原来我完全误解了 Jests automock功能。顺便说一句,现在回想起来,我不明白为什么,因为文档非常清楚它的实际作用:
这个选项告诉 Jest 你的测试中所有导入的模块都应该被自动模拟。
好像我刚刚注意到ALL关键字。也许我只是在想 - 但即使对于我实际上要在这里测试的导入函数,拥有一个 automock 也没有意义,不是吗?显然我想从 中自动模拟第三方的东西node_modules
,但不是我自己的代码。事实证明:
注意:当您有一个手动模拟时,节点模块会自动
__mocks__/lodash.js
模拟(例如:) 。注意:核心模块,如 fs,默认情况下不会被模拟。他们可以被明确地嘲笑,比如
jest.mock('fs')
所以这有点与我认为的相反。