试图使此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);
}
答案 0 :(得分:0)
能够测试onChange事件, 忘记设置道具之一为true。结果,测试能够找到更多的节点