我的测试中有一些onChange和onBlur事件,但未正确调用该方法。不知道我应该直接测试该方法还是尝试修复事件 将Jest和Enzyme用于React JS
这是方法
updateContext = (e) => {
var tempContext = this.state.context;
switch(e.target.id){
case "ParameterTypeId":
tempContext.ParameterTypeId = e.target.value;
break;
case "DataTypeId":
tempContext.DataTypeId = e.target.value;
break;
default:
break;
}
this.setState({
context: tempContext,
})
这是另一个调用ParamterTypeId的方法
renderTypeDown = () => {
<select id='ParameterTypeId' defaultValue={'default'} onChange={this.updateContext}>{ contextTypes }</select>
这是我为ParameterTypeId设置测试的方式
it(" Test onChange event on renderTypeDown", () => {
wrapper.setProps({
parameterTypes:{
value:[{key:"", value:'test'}],
},
});
wrapper.setState({
context: {
ParameterTypeId: 'testdata',
},
});
wrapper.update()
wrapper.find('select').find('#ParameterTypeId').simulate('change',{ target: { value:'test'}})
expect(wrapper.state('context').ParameterTypeId).toEqual('testdata');
});
如何直接测试该方法?