笑话:如何取消模拟 index.js 文件中列出的组件?
Posted
技术标签:
【中文标题】笑话:如何取消模拟 index.js 文件中列出的组件?【英文标题】:Jest: How to unmock components listed in an index.js file? 【发布时间】:2016-08-30 18:01:47 【问题描述】:使用 Jest 对我的反应组件进行单元测试。
我在src/components/index.js
下列出了我的组件,因此我可以执行以下操作:
import MyComponent from 'components';
在使用 jest 时,如何在这样的 require 路径上调用 unmock
?
jest.unmock('components/MyComponent'); // ???
import MyComponent from 'components';
// ... tests below ...
上述方法不起作用,尽管这基本上是预期的结果。
【问题讨论】:
尝试使用unmockedModulePathPatterns
?
是的。没有运气。
【参考方案1】:
我以前遇到过类似的问题,并且在 jest 12.0.1 中删除了导入解构。
所以而不是;
import MyComponent from 'components';
试试;
import index from 'components'
// test code
index.MyComponent
就我个人而言,我通常只是直接包含我想要测试的组件,而不是从索引中引用它。仅当使用未定义将测试放在代码旁边的标准的测试库时,才使用索引似乎值得。
【讨论】:
以上是关于笑话:如何取消模拟 index.js 文件中列出的组件?的主要内容,如果未能解决你的问题,请参考以下文章