我想测试在react中单击链接时是否发生跟踪事件。然而,我确实得到了一个Error: Not implemented: navigation
,作为点击链接时发生的事情的影响。我正在用jest和@testinglibrary/user事件进行测试。
我现在想要mock或stub,这样当userEvent被触发时就不会进行导航尝试,因为我只想看到跟踪事件的发生。我该怎么做?
userEvent.click(item);
expect(Ga.trackEvent).toHaveBeenCalledTimes(1);
expect(Ga.trackEvent).toHaveBeenCalledWith('myModal', 'open');
我认为您的测试实际上是在尝试使用window.location 进行导航
在尝试用户事件之前,您需要模拟一下
let assignMock = jest.fn();
delete window.location;
window.location = { assign: assignMock };
afterEach(() => {
assignMock.mockClear();
});