我在这里找到了这个实现,但是它使用了酶。
Unit testing React click outside component
向窗口添加事件也不起作用:
window.addEventListener('click', () => {
console.log('click on window');
});
有人在上面用玩笑和“ @ testing-library / react”遇到过这个问题吗?
答案 0 :(得分:7)
我想提供一个最新的答案,它遵循与@eduardomoroni 提出的原则相同的原则。
fireEvent
对我不起作用,因此我设法使用 userEvent
api 实现了它。
userEvent.click(document.body);
此外,由于打字稿抱怨 document
无法传递给点击事件处理程序。相反,body
是更好的解决方案。
“Document”类型的参数不能分配给“TargetElement”类型的参数。
答案 1 :(得分:1)
@Giorgio提到:
fireEvent.click(document)