gpt4 book ai didi

reactjs - 如何在 React 中的 onClick 之后测试 next/link (Nextjs) 获取页面重定向?

转载 作者:行者123 更新时间:2023-12-03 19:15:52 25 4
gpt4 key购买 nike

我想测试页面在点击 div 后被重定向,但我不知道如何,这是我的代码。非常感谢

<div className="bellTest">
<NextLink href="/notifications">
<Bell />
</NextLink>
</div>

测试.tsx
jest.mock('next/link', () => {
return ({ children }) => {
return children;
};
});

describe('Test of <HeaderContainer>', () => {
test('Test the page redirect after click', async done => {
const wrapper = mount( <HeaderComponent /> );
await wrapper
.find('.bellTest')
.at(0)
.simulate('click');
// expect the page getting redirect
});
});

最佳答案

而不是 mock next/link您可以在路由器事件上注册 spy ,并检查它是否被调用。

测试将如下所示:

import Router from 'next/router';

describe('Test of <HeaderContainer>', () => {
const spies: any = {};

beforeEach(() => {
spies.routerChangeStart = jest.fn();
Router.events.on('routeChangeStart', spies.routerChangeStart);
});

afterEach(() => {
Router.events.off('routeChangeStart', spies.routerChangeStart);
});

test('Test the page redirect after click', async done => {
const wrapper = mount(<HeaderComponent />);
await wrapper
.find('.bellTest')
.at(0)
.simulate('click');

expect(spies.routerChangeStart).toHaveBeenCalledWith('expect-url-here');
});
});

关于reactjs - 如何在 React 中的 onClick 之后测试 next/link (Nextjs) 获取页面重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60701188/

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