我如何jest.mock一个反应组件导入另一个反应组件文件内

时间:2019-08-28 11:03:20

标签: reactjs unit-testing mocking jestjs react-testing-library

我正在尝试使用更新的@ testing-library / react库编写一个开玩笑的测试。 这个较新的测试库没有浅层渲染,因此我试图模拟出我测试过的组件用作解决方法的react子组件。

但是我在使用jest.mock时遇到问题,我似乎无法正确地模拟'subComponent.jsx'文件。

当我在test.js文件中使用jest.mock('subComponent.jsx',...)时,它仅模拟test.js文件中的subComponent.jsx导入。当我从component.jsx内部导入subComponent.jsx时,test.js中的模拟不再适用。

那么我如何从模拟的component.jsx内部导入subComponent.jsx,而不必在内部屠杀component.jsx文件呢?

顺便说一句,如果有人有好的建议,我也很乐意接受任何其他解决方案,以有效地实现@ testing-library / react的浅层渲染...

test.js:

import Component from 'component.jsx';
jest.mock('subComponent.jsx', ...doSomething);


component.jsx:

import SubComponent from 'subComponent.jsx;
[SubComponent.jsx is not mocked here!!!!]

1 个答案:

答案 0 :(得分:0)

对不起,事实证明这是@skyboyer指出的我旁边的肠衣错字 非常感谢。