嗨,我已经编写了单选按钮的单元测试用例,并根据条件试图显示选中了哪个单选按钮。
这是我的组件代码-
<RadioButton
id='data'
isChecked={myButton === 'data' ? true : false}
onChange={(event: React.ChangeEvent<HTMLInputElement>): void =>
onChangeRadio(event)
}
/>
<RadioButton
id='data1'
isChecked={myButton=== 'data1' ? true : false}
onChange={(event: React.ChangeEvent<HTMLInputElement>): void =>
onChangehRadio(event)
}
/>
这就是我在单元测试用例中所做的-
let myButton;
it('should call onChange handler when radio button value changed', () => {
wrapper
.find(RadioButton)
.first()
.props()
.onChange('data', {target:{id:'data' , checked: myButton === 'data' ? true : false} });
expect(mockOnChangeRadio).toHaveBeenCalled();
});
it('should call onChange handler when radion button value changed', () => {
wrapper
.find(RadioButton)
.last()
.props()
.onChange('data1', {target:{id:'data1' , checked: myButton==='data1' ? true : false} });
expect(mockOnChangeRadio).toHaveBeenCalled();
});
正在运行的测试用例工作正常。甚至功能也包括在内,但不包括错误条件的分支。在代码覆盖率文件中的false上显示为黄色。对于单选按钮isChecked={myButton === 'data' ? true : false}
和isChecked={myButton === 'data1' ? true : false}