使用 Jest 和 React 测试库进行单元测试 React 单击外部组件
Unit testing React click outside component using Jest and react testing library
我在这里找到了这个实现,但它使用了酶。
向 window 添加事件也不起作用:
window.addEventListener('click', () => {
console.log('click on window');
});
有没有人在使用 jest 和“@testing-library/react”时遇到过这个问题?
如@Giorgio 所述:
fireEvent.click(document)
//or
userEvent.click(document.body);
我想提供一个最新的答案,它遵循与@eduardomoroni 所提议的原则相同的原则。
fireEvent
对我不起作用,所以我设法通过 userEvent
api.
实现了它
userEvent.click(document.body);
此外,由于打字稿抱怨 document
无法传递给点击事件处理程序。相反,body
是更好的解决方案。
Argument of type 'Document' is not assignable to parameter of type 'TargetElement'.
我在这里找到了这个实现,但它使用了酶。
向 window 添加事件也不起作用:
window.addEventListener('click', () => {
console.log('click on window');
});
有没有人在使用 jest 和“@testing-library/react”时遇到过这个问题?
如@Giorgio 所述:
fireEvent.click(document)
//or
userEvent.click(document.body);
我想提供一个最新的答案,它遵循与@eduardomoroni 所提议的原则相同的原则。
fireEvent
对我不起作用,所以我设法通过 userEvent
api.
userEvent.click(document.body);
此外,由于打字稿抱怨 document
无法传递给点击事件处理程序。相反,body
是更好的解决方案。
Argument of type 'Document' is not assignable to parameter of type 'TargetElement'.