如何使用 Jest/React 测试 Router.push

新手上路,请多包涵

我对单元测试还是陌生的,我正在努力理解如何测试/模拟来自路由器的推送,

 <Tab label="Members" alt="Members" onClick={() => Router.push('/members')}/>

上面一行是我需要测试的,但我怎么能呢?我会创建一个假端点然后测试 onClick 吗?

原文由 Broken Mind 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 533
1 个回答

最简单的事情就是像这样模拟路由器

import Router from 'next/router'
jest.mock('next/router', ()=> ({push: jest.fn()}))

模拟点击 Tab 后,您可以像这样检查调用

expect(Router.push).toHaveBeenCalledWith('/members')

原文由 Andreas Köberle 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题