我正在尝试测试一个 React 组件,该组件应该下载文件并在单击链接时显示警报。我使用 Jest 和 React-testing-library 进行测试,但遇到错误消息。
这是我的测试代码:
test('clicking the link should download a file and display an alert', async () => {
const { getByRole } = render(<MyComponent />);
const link = getByRole('link');
await fireEvent.click(link);
expect(within(screen.getByRole('alert')).getByText(/File downloaded/i)).toBeInTheDocument()
});
当我运行此测试时,我收到以下错误消息:
Error: Not implemented: navigation (except hash changes)
测试有效,但我想去掉警告消息。
我尝试了本文中提出的所有解决方案:如何修复错误:未实现:导航(哈希更改除外)
预先感谢您的帮助。
聚会迟到了,但你可以这样做:
const link = getByRole('link');
link.addEventListener('click', (e) => {
e.preventDefault();
});
await fireEvent.click(link);