美好的一天。 我正在对一些测试进行编码,但我不确定如何检查pushRoute函数是否确实将我发送到了我想要的页面。
这是组件和我要执行的测试的编辑代码。
组件:
redirectToRoute= () => {
this.props.pushRoute('/some/route')
}
<SomeComponent
title="Some Title"
value={value}
onClick={() => this.redirectToRoute()}
/>
测试:
it('Should redirect to route', () => {
const pushRoute = jest.fn();
const wrapper = setup({ pushRoute });
wrapper.instance().redirectToRoute();
expect(pushRoute).toHaveBeenCalledTimes(1);
});
在这里,我可以测试是否已调用onClick,但是现在我不知道如何将其重定向到我想要的路由。
答案 0 :(得分:1)
您还可以检查pushRoute
是否以预期的路线被呼叫:
it('Should redirect to route', () => {
const pushRoute = jest.fn();
const wrapper = setup({ pushRoute });
wrapper.instance().redirectToRoute();
expect(pushRoute).toHaveBeenCalledTimes(1); // Success!
expect(pushRoute).toHaveBeenCalledWith('/some/route'); // Success!
});
该组件仅需对其进行测试,因为它不负责进行重定向,它仅调用给定的pushRoute
属性。