如何使用Jest / Enzyme测试OnChange

时间:2019-01-23 15:30:07

标签: jestjs enzyme

我目前正在为Checkbox组件编写笑话测试。代码中的div如下:

 return (
    <div key={id} className={divClassName}>
        <label className={labelClassName}>
            <input 
                className={controlClassName}
                id={id}
                type="checkbox"
                onChange={
                    e => {
                        onChange(id, bitResult ? (e.target.checked ? 1 : 0) : e.target.checked)
                    }
                }
                checked={value ? value : false}  {...disabled} /> {title}
        </label>
    </div>

测试文件中用于测试OnChange的两个当前片段如下:

const setup = () => {
const actions = {
    onChange: jest.fn()
}

实际测试部分:

it('should call action on Checkbox', () => {
    const value = "checked";
    const { component, input, actions } = setup()
    expect(actions.onChange.mock.calls.length).toBe(0);
    component.simulate('change', { target: { value } })

当前在伊斯坦布尔代码覆盖率报告中未涉及到这一点,我想知道如何更改它?我对这种类型的测试还很陌生,但是可以提供任何帮助。

0 个答案:

没有答案