#reactjs #jestjs #enzyme #echarts
#reactjs #jestjs #enzyme #электронные диаграммы
Вопрос:
У меня есть гистограмма echarts-for-react. При barClick страница перенаправляется на другой URL. Как мне протестировать это событие щелчка с помощью Enzyme / Jest?
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:
Я не знаю об этом echarts
компоненте, но обычно для тестирования его с помощью enzyme вам следует:
- Следите за своей функцией, чтобы отслеживать ее вызовы (вы должны изменить ее с функции со стрелкой на соответствующую функцию js)
const spy = jest.spyOn(MyComponent.prototype, 'handleClick');
- Смонтируйте свой компонент
const component = mount(<MyComponent/>);
- Имитировать нажатие на нужную кнопку (?)
component.find(ReactEcharts).simulate('click');
- Обновите свой компонент
component.update();
- Проверьте, была ли вызвана функция
expect(spy).toHaveBeenCalled();