簡體   English   中英

檢查onChange是否與setState一起正常工作

[英]Check if onChange works correctly with setState

嘗試測試在測試onChange事件時ParameterLabel值是否更改。 這一行缺少一些東西:

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

我需要在wrapper.state之后的某處添加上下文,因此它可以檢查ParamenterLabel內部的值並執行更改Using Shallow - Jest / enzyme

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}

從你的setState調用看起來,狀態屬性'ParameterLabel'嵌套在'context'中。

嘗試在斷言中搜索“context”對象,然后拉出該屬性。 就像是:

expect(wrapper.state('context').ParameterLabel)).toEqual("ParameterLabel value");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM