微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何访问功能组件的 getHandlerId() 以使用酶测试 react-dnd

如何解决如何访问功能组件的 getHandlerId() 以使用酶测试 react-dnd

我正在按照 React-DnD project's Testing page 中的说明使用 Enzyme 编写单元测试,但我无法让组件获取处理程序 ID 以调用 backend.simulateBeginDrag(...)

在这里一个简单的项目设置:https://github.com/agonzalezjr/react-dnd-enzyme。基本上从 Create-React-App + Typescript 开始,添加了 React-DnD、ReactDnD 的垃圾箱/盒子示例和酶。它运行正常,测试也运行正常。

这是测试代码

  it('drags - with enzyme',() => {
    const BoxWithTestContext = wrapInTestContext(Box)
    const ref = React.createRef()
    
    const root = mount(
      <>
        <BoxWithTestContext ref={ref} name="test" />
      </>
    )
    expect(root).tobedefined()

    const backend = (ref.current as any).getManager().getBackend()
    expect(backend).tobedefined()

    // How do I get the component or component's getHandlerId() to be able to call
    // backend.simulateBeginDrag(...),etc...
  });

我可以看到后端已设置,并且有一些注册了 ID 为“S1”的东西,但我需要能够以某种方式以编程方式获取该信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。