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

时间:2019-03-04 15:17:02

标签: javascript reactjs jestjs

我对单元测试还是陌生的,并且不易理解我如何测试/模拟来自路由器的推送,

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

以上一行是我需要测试的,但是我该怎么办?我会创建一个伪造的终点,然后测试onClick吗?

1 个答案:

答案 0 :(得分:1)

最简单的方法是像这样模拟路由器

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

模拟Tab的点击之后,您可以像这样检查通话

expect(Router.push).toHaveBeenCalledWith('/members')
相关问题