将 @testing-library/user-event 更新到 v.14 时出错
Errors when updating @testing-library/user-event to v.14
我正在按照最新版本 @testing-library/user-event
的所有说明进行操作。
之前:
test('request support action',() => {
render(<SupportSection requestSupport={requestSupport} />);
const button = screen.getByRole('button');
userEvent.click(button);
expect(requestSupport).toHaveBeenCalled();
});
之后:
test('request support action', async () => {
const user = userEvent.setup();
render(<SupportSection requestSupport={requestSupport} />);
const button = screen.getByRole('button');
await user.click(button);
expect(requestSupport).toHaveBeenCalled();
});
requestSupport
在更高的范围内被嘲笑 const requestSupport = jest.fn();
我得到的错误是:
TypeError: range.cloneRange is not a function
我所有的测试在库更新之前都通过了,现在都失败了。
我终于找到了解决方案,错误发生是由于一些旧的模拟,需要以前的测试环境。所有必须做的就是从 jest 配置文件中删除以下内容:
global.document.createRange = () => ({ ... });
我正在按照最新版本 @testing-library/user-event
的所有说明进行操作。
之前:
test('request support action',() => {
render(<SupportSection requestSupport={requestSupport} />);
const button = screen.getByRole('button');
userEvent.click(button);
expect(requestSupport).toHaveBeenCalled();
});
之后:
test('request support action', async () => {
const user = userEvent.setup();
render(<SupportSection requestSupport={requestSupport} />);
const button = screen.getByRole('button');
await user.click(button);
expect(requestSupport).toHaveBeenCalled();
});
requestSupport
在更高的范围内被嘲笑 const requestSupport = jest.fn();
我得到的错误是:
TypeError: range.cloneRange is not a function
我所有的测试在库更新之前都通过了,现在都失败了。
我终于找到了解决方案,错误发生是由于一些旧的模拟,需要以前的测试环境。所有必须做的就是从 jest 配置文件中删除以下内容:
global.document.createRange = () => ({ ... });