gpt4 book ai didi

reactjs - 单击按钮后测试导航与 MemoryRouter 的 react (开 Jest , enzyme )

转载 作者:行者123 更新时间:2023-11-28 20:00:51 26 4
gpt4 key购买 nike

所以,我正在尝试使用 MemoryRouter 进行测试,如果我点击一个应该将我带到新的Route 的按钮,它实际上会打开该路由.

所以“ConversationView”是 Conversations 中的 react 组件。我- 希望能够测试当我单击位于“Conversations”内的按钮时,我将能够到达新路由“ConversationsView”并在其中找到“h2”标签。

这是我的代码:

const wrapper = mount(
<MemoryRouter initialEntries={[ "/" ]}>
<Conversations.wrappedComponent store={store}>
<ConversationView>
</ConversationView>
</Conversations.wrappedComponent>
</MemoryRouter>);

const button = wrapper.find("button").first();
button.simulate("click");
expect(wrapper.find("h2")).toHaveLength(1);

我做错了什么?我应该如何测试这种情况?

附言我正在向对话中注入(inject) MobX 存储。但我确实模拟了商店,所以没有额外的异步工作。

最佳答案

尝试改变 expact() 结果:

 expect(wrapper.find("h2")).toEqual(1);

或者您可以尝试像这样将 Props 设置为包装器:

const wrapper = mount(
// remove initialEntrie from here
<MemoryRouter>
<Conversations >
<ConversationView>
</ConversationView>
</Conversations>
</MemoryRouter>);

// set props (initialEntries) to the component
wrapper.setProps({ initialEntries: '/' })

const button = wrapper.find("button").first();
button.simulate("click");
expect(wrapper.find("h2")).toHaveLength(1);

关于reactjs - 单击按钮后测试导航与 MemoryRouter 的 react (开 Jest , enzyme ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55209067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com