我的代码如下
export class FormLayout extends Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
}
handleChange(evt, field) {
let formdata = this.state.formdata;
formdata[field] = evt.value;
this.setState({
formdata: formdata
});
}
render() {
// form data
}
}
test case :-
it('should call handleChange ', () => {
const handleChangeSpy = sinon.spy(FormLayout.prototype, 'handleChange');
const event = { target: { name: 'name', value: 'test' } };
const wrapper = shallow(<FormLayout {...props} />);
expect(wrapper).to.have.length(1);
wrapper.ref('name').simulate('change', event, 'name');
expect(handleChangeSpy.calledOnce).to.equal(true);
});
在运行测试用例时,抛出错误:-TypeError:试图将未定义的属性handleChange包装为函数 添加了完整的错误提示
TypeError:尝试将未定义的属性onClose包装为函数 在wrapMethod(node_modules \ sinon \ lib \ sinon \ util \ core \ wrap-method.js:70:21) 在Object.spy(node_modules \ sinon \ lib \ sinon \ spy.js:42:16) 在上下文。
我的代码中未使用Redux 请验证并让我知道我所缺少的。预先感谢