我正在尝试用酶测试这个代码。我想模拟点击,但我得到了一个错误";引用错误,未定义事件";。我该如何克服这一点?我需要模拟函数吗
const handleClick = (event : any) => {
setAnchorEl(event.target);
setOpen(true);
};
<IconButton onClick={() => handleClick(event)}>
<DeleteIcon className={classes.threeDotsIcon}/>
</IconButton>
我试着像这样模拟点击,但它给了我一个错误,事件没有定义。
''
let wrapper = mount(<Provider store={store1}><MyComponent{...mockProps} /></Provider>);
let button = wrapper.findWhere(elem => elem.name() === 'IconButton');
button.simulate('click');'''
您忘记将事件传递给handleClick
事件处理程序onClick={(event) => handleClick(event)}
。您需要传递一个类似于button.simulate('click', { target: 'whatever' })
的模拟点击事件对象