wrapper.instance() 和wrapper.find(Component).instance() 返回 null
考虑下面的代码。
const wrapper = mount(
<Provider store={store}>
<BrowserRouter>
<ComponentPage/>
</BrowserRouter>
</Provider>,
);
wrapper.instance() // null
wrapper.find(ComponentPage).instance() //null ('ComponentPage') or (<ComponentPage/>) //null
wrapper.children().first().children().first().children().first().instance() //null
但是 wrapper.name() // Provider
和 wrapper.find(ComponentPage).name() //ComponentPage
如何获取实例来测试以下代码.
test.only('test 1', () => {
const app = wrapper.render().find(ComponentPage);
app.instance().getComponents = jest.fn(); //instance null
expect(app.instance().getComponents).toHaveBeenCalled();
});
consider the below code.
const wrapper = mount(
<Provider store={store}>
<BrowserRouter>
<ComponentPage/>
</BrowserRouter>
</Provider>,
);
wrapper.instance() // null
wrapper.find(ComponentPage).instance() //null ('ComponentPage') or (<ComponentPage/>) //null
wrapper.children().first().children().first().children().first().instance() //null
However wrapper.name() // Provider
and wrapper.find(ComponentPage).name() //ComponentPage
How to get the instance to test the below code.
test.only('test 1', () => {
const app = wrapper.render().find(ComponentPage);
app.instance().getComponents = jest.fn(); //instance null
expect(app.instance().getComponents).toHaveBeenCalled();
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
来自 .instance() =>; ReactComponent 文档:
例如
index.tsx
:index.test.tsx
:测试结果:
From the .instance() => ReactComponent doc:
E.g.
index.tsx
:index.test.tsx
:Test result: