开玩笑-模拟不是测试功能,请点击反应链接

时间:2019-05-20 08:17:26

标签: reactjs jestjs

我正在尝试测试反应链接,并且单击后它是否重定向到正确的目的地。但是,如果我做这样的测试:

const link = dashboard.findByProps({to: '/classes'});
    console.log(link);
    link.simulate('click');
    expect(testRenderer.root.instance.history.location.pathname).toEqual("/classes");

我得到:

  

TypeError:link.simulate不是函数

我也尝试过使用link.props.onClick(),但这也没有用。如何测试点击Jest中的react?的链接

1 个答案:

答案 0 :(得分:0)

如果您使用react-test-renderer,则应该使用act方法并调度DOM事件,如下所示:

  act(() => {
    link.dispatchEvent(new MouseEvent('click', {bubbles: true}));
  });

如果使用enzyme,则应使用simulate方法来触发React click事件。

它们是不同的。您最好不要一起使用它们。

相关问题