使用事件作为参数对点击进行酶测试
“我正在尝试使用酶来测试这段代码。我想模拟点击,但收到错误“引用错误,事件未定义”。我该如何克服这一点?我需要模拟这个函数吗?
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');'''
'I am trying to test out this code using enzyme. I want to simulate a click but i get an error "Reference Error, Event is not defined". How do i get past that? Do i need to mock the function?'
const handleClick = (event : any) => {
setAnchorEl(event.target);
setOpen(true);
};
<IconButton onClick={() => handleClick(event)}>
<DeleteIcon className={classes.threeDotsIcon}/>
</IconButton>
I tried simulating the click like this but it gives me an error, event is not defined.
'''
let wrapper = mount(<Provider store={store1}><MyComponent{...mockProps} /></Provider>);
let button = wrapper.findWhere(elem => elem.name() === 'IconButton');
button.simulate('click');'''
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您忘记将事件传递给
handleClick
事件处理程序,onClick={(event) =>;处理点击(事件)}
。并且您需要传递一个模拟点击事件对象,如下所示button.simulate('click', { target: 'whatever' })
You forgot to pass the event to
handleClick
event handler,onClick={(event) => handleClick(event)}
. And you need to pass a simulated click event object like thisbutton.simulate('click', { target: 'whatever' })