单元测试使用Jest和React测试库对外部Click外部组件进行测试

时间:2019-07-10 20:37:53

标签: unit-testing jestjs react-testing-library

我在这里找到了这个实现,但是它使用了酶。

Unit testing React click outside component

向窗口添加事件也不起作用:

window.addEventListener('click', () => {
      console.log('click on window');
    });

有人在上面用玩笑和“ @ testing-library / react”遇到过这个问题吗?

2 个答案:

答案 0 :(得分:7)

我想提供一个最新的答案,它遵循与@eduardomoroni 提出的原则相同的原则。 fireEvent 对我不起作用,因此我设法使用 userEvent api 实现了它。

userEvent.click(document.body);

此外,由于打字稿抱怨 document 无法传递给点击事件处理程序。相反,body 是更好的解决方案。

<块引用>

“Document”类型的参数不能分配给“TargetElement”类型的参数。

答案 1 :(得分:1)

@Giorgio提到:

fireEvent.click(document)