如何使用Jest / Enzyme在Echarts上测试Click事件?

时间:2020-08-18 10:44:41

标签: reactjs jestjs enzyme echarts

我有一个反应灵敏的条形图。在barClick上,页面重定向到另一个URL。如何使用酶/笑话测试此点击事件?

const handleClick = (params) => {
  if(params.data){
    let url = get_route(params.value[2])
    window.open(url, "_self")
  }
  return null
};
let onEvents = {'click': handleClick};

<ReactEcharts
            option={this.getOption()}
            onEvents={onEvents}
            style={{width: '100%', height: `${height}px`}}
            className='react_for_echarts' 
            />    

1 个答案:

答案 0 :(得分:0)

我不知道这个echarts组件,但是通常要用酶对其进行测试,您应该:

  1. 监视函数以跟踪其调用(您必须将其从箭头函数更改为适当的js函数)const spy = jest.spyOn(MyComponent.prototype, 'handleClick');
  2. 安装组件const component = mount(<MyComponent/>);
  3. 模拟点击所需按钮(?)component.find(ReactEcharts).simulate('click');
  4. 更新您的组件component.update();
  5. 检查该函数是否被称为expect(spy).toHaveBeenCalled();
相关问题