检查onChange是否可以与setState

时间:2019-03-21 12:44:05

标签: javascript reactjs jestjs

尝试测试在测试onChange事件时ParameterLabel值是否更改。 此行上缺少某些内容:

expect(wrapper.state('ParameterLabel')))。toEqual(“ ParameterLabel value”); // ??

我需要在wrapper.state之后的某个地方添加上下文,以便它可以检查ParamenterLabel内部的值并执行更改 使用浅-笑话/酶

it('Testing ParameterLabel onBlur event ', () => {
 baseProps.onBlur.mockClear();
 wrapper.setState({
    context:{
      ParameterLabel:'test',
      PARAMETER_TYPE: {
          ParameterTypeId:'ParameterLabel-Test'
        },
      PARAMETER_DATATYPE:{
          DataTypeId:'test'
        },
     },
  });
  wrapper.update() 
  wrapper.find('input[id="ParameterLabel"]').simulate('blur',{
    target: { 
       value:'ParameterLabel value', 
       id: 'ParameterLabel'
     }
 });
   expect(wrapper.state('ParameterLabel'))).toEqual("ParameterLabel value"); //??
});


<input id='ParameterLabel' className='user-value-field' onBlur={this.updateContext} defaultValue={this.state.context.ParameterLabel}

1 个答案:

答案 0 :(得分:0)

在setState调用中,状态属性'ParameterLabel'似乎嵌套在'context'内部。

尝试在断言中搜索“上下文”对象,然后提取该属性。像这样:

{{1}}