模拟onClick不在酶中工作

时间:2016-09-22 11:41:27

标签: reactjs mocha chai enzyme

这是取消按钮

<div className="cancelFileBtn" onClick={this.props.cancelFileSending}>

我需要模拟其点击,我尝试了以下测试

wrapper.find('.cancelFileBtn').simulate('click');

但点击功能仍未定义......我是否还错过了其他任何内容? 如果有人在模拟

中存在任何变化,那将非常有帮助
<SendMessageButton onClick={this.props.handleClickSendMessage} loadingFile={this.props.loadingFile}/>

2 个答案:

答案 0 :(得分:3)

如果没有看到更多代码,分不清楚,希望这会有所帮助:

const wrapper = mount(<Component />);
const cancelBtn = wrapper.find('.cancelFileBtn');

// Test that the button is truthy
expect(cancelBtn).to.have.length(1);

// Simulation
cancelBtn.simulate('click');
// or
cancelBtn.props().onClick();

// Test the output
expect(...).to.equal(...);

答案 1 :(得分:1)

添加 hostNodes(),我认为它应该可以工作。

wrapper.find('.cancelFileBtn').hostNodes().simulate('click'); 

应该修复它