每当我尝试模拟传递event
对象的事件时,都会得到this
是undefined
。
const onBlur = sinon.spy(Input.prototype.handleBlur);
const wrapper = shallow(<Input handleBlur={onBlur} />);
//...
wrapper.find('input').simulate('blur', { target: {value: ''} });
在handleBlur
方法中,this
未定义。但是,如果我决定不模拟event
对象,则事件未定义。
此外,我尝试使用mount
代替:
const wrapper = shallow(<Input handleBlur={onBlur} />);
但是,这是同一回事。但是,直到更新npm库,我什至无法理解这一点。
答案 0 :(得分:0)
尝试使用
const onBlur = sinon.spy(Input.prototype, "handleBlur");
代替
const onBlur = sinon.spy(Input.prototype.handleBlur);