[英]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.