Enzyme React测试用例由于TypeError失败:尝试将未定义的属性handleChange包装为函数

时间:2018-09-26 07:18:20

标签: reactjs enzyme

我的代码如下

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 请验证并让我知道我所缺少的。预先感谢

0 个答案:

没有答案