【问题标题】:Unit testing React click outside component using Jest and react testing library单元测试 React 使用 Jest 和反应测试库单击外部组件
【发布时间】:2019-11-20 12:40:51
【问题描述】:

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

Unit testing React click outside component

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

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

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

【问题讨论】:

  • 您是否尝试运行fireEvent.click(document)
  • 那行得通。谢谢@GiorgioPolvara-Gpx

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


【解决方案1】:

正如@Giorgio 所说:

fireEvent.click(document)

【讨论】:

    【解决方案2】:

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

    userEvent.click(document.body);
    

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

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

    【讨论】:

    猜你喜欢
    • 2017-12-16
    • 1970-01-01
    • 2020-08-27
    • 2019-01-02
    • 2022-01-06
    • 1970-01-01
    • 2022-06-15
    • 2017-12-01
    • 1970-01-01
    相关资源
    最近更新 更多