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

新手上路,请多包涵

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

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

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

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

阅读 532
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题