onChange事件-找不到节点

时间:2019-03-20 17:51:24

标签: reactjs jestjs onchange

试图使此onChange事件通过。 这是我目前尝试的方法,但出现以下错误:   方法“模拟”旨在在1个节点上运行。改为找到0。

file.test.js

it("should call onChange events on Settings-input-radio ", () => {
 baseProps.onChange.mockClear();
 wrapper.setProps({
  });
 wrapper.setState({
    IsSystem:true
    });
 wrapper.update() 
 wrapper.find('input[id="radio-input-true"]').simulate('change')
 expect(wrapper.state('isSystem')).toBeTrue

我在文件上添加了一个ID进行测试,不确定是否需要 这是file.js

渲染

<div className='settings-input-radio'>
  <input type='radio' className='settings-radio' id='radio-input-true'
   checked={this.state.isSystem} onChange={(e) => {this.updateJSON('System', true); this.setState({isSystem: true})}}/>
     Yes
  <input type='radio' className='settings-radio'
   checked={!this.state.isSystem} onChange={(e) => {this.updateJSON('System', false); this.setState({isSystem: false})}}/>
     No
</div>

方法:

updateJSON = (name, value) => {
 let json = this.props.selectedFormJSON;
 json[name] = value
 this.props.updateSelectedFormJSON(json);
}

1 个答案:

答案 0 :(得分:0)

能够测试onChange事件, 忘记设置道具之一为true。结果,测试能够找到更多的节点