在Change事件中未调用UpdateContext

时间:2019-03-27 19:22:14

标签: jestjs onchange onblur

我的测试中有一些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');
});

如何直接测试该方法?

0 个答案:

没有答案