使用@testing-library/user-event 进行虚假点击
Fake click using @testing-library/user-event
我想测试在 React 中单击 link 时是否发生跟踪事件。但是,由于单击 link 时发生的情况,我确实得到了 Error: Not implemented: navigation
。我正在开玩笑和 @testing-library/user-event.
进行测试
我现在想要模拟或存根,以便在触发 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();
});
我想测试在 React 中单击 link 时是否发生跟踪事件。但是,由于单击 link 时发生的情况,我确实得到了 Error: Not implemented: navigation
。我正在开玩笑和 @testing-library/user-event.
我现在想要模拟或存根,以便在触发 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();
});