如何在jest中模拟/监视useState hook?
- 论坛
- 如何在jest中模拟/监视useState hook?
13 浏览
如何在jest中模拟/监视useState hook?
我试图监视useState React hook,但我始终无法通过测试。这是我的React组件:
const Counter = () => { const [counter, setCounter] = useState(0); const handleClick = () => { setCounter(counter + 1); } return ( <>{counter}
> ) }
counter.test.js:
it('正确增加计数器', () => { let wrapper = shallow(); const setState = jest.fn(); const useStateSpy = jest.spyOn(React, 'useState'); useStateSpy.mockImplementation((init) => [init, setState]); const button = wrapper.find("button") button.simulate('click'); expect(setState).toHaveBeenCalledWith(1); })
不幸的是,这并不起作用,并且我得到了测试失败的消息:
期望:1 调用次数:0