Я пытаюсь протестировать компонент FormControlLabel из пользовательского интерфейса материала.
Когда я пытаюсь смоделировать щелчок, фермент не запускает событие щелчка на моем компоненте.
Я пытался использовать shallow, createShallow, mount, createMount.
При отладке я получаю компонент из запроса find и findWhere, и, судя по всему, у него есть реквизит управления, который содержит флажок требуемый.
Я также пытался обернуть флажок из найденных реквизитов с мелкой и монтировать, и это не сработало ...
//parent.jsx
export public Parent = () => {
const [selected, setSelected] = useState(false);
const handleChange = (e,s) => {setSelected(s);};
...
return (
...
<FormControlLabel control={
<Checkbox onChange={handleChange}
checked={selected}}
label='some label'/>
...
);
}
//test.js
...
let component = createMount()(<Parent/>);
let checkbox = component.find(FormControlLabel)
.findWhere(c=>c.prop('label')==='some label').first();
checkbox.simulate('click');
checkbox.simulate('change');
//rest of the test
//the function handleChange is not called in debug.
Ожидаемое:
- Имитация клика или изменения должна вызывать функцию onChange
Фактический:
код работает, тест не работает.
помогите пожалуйста !!!