我在这里找到了这个实现,但它使用了酶。
单元测试 反应 点击外部组件
将事件添加到窗口也不起作用:
window.addEventListener('click', () => {
console.log('click on window');
});
有没有人在上面使用开玩笑和"@testing库/反应"遇到过这个问题?
如@Giorgio所述:
fireEvent.click(document)
//or
userEvent.click(document.body);
我想
提供一个最新的答案,它遵循与@eduardomoroni提出的相同原则。fireEvent
对我不起作用,所以我设法使用 userEvent
API 实现了它。
userEvent.click(document.body);
此外,正如打字稿所抱怨的那样,document
无法传递给单击事件处理程序。相反,body
是更好的解决方案。
类型为">文档"的参数不可分配给类型为"目标元素"的参数。