Итак, я тестирую следующий дочерний компонент, который получает функцию от родителя в свой реквизит:
export interface IProps{
parentClick: () => void;
}
export class Child extends React.Component<IProps, {}> {
handleClick = () => {
this.props.parentClick();
}
render () {
return ( <button onClick={this.handleClick}>Click me</button> )
}
}
В моем тесте Jest я делаю следующее, чтобы убедиться, что this.props.parentClick
запущен:
it("button click fires", () => {
const props = {
parentClick: jest.fn();
}
const Child = enzyme.mount(<Child {...props} />);
Child.find('button').simulate('click'); //shouldn't this trigger parentClick?
expect(props.parentClick).toHaveBeenCalled();
});
Но тест не проходит, говоря:
Expected mock function to have been called one time, but it was called zero times.
Как я могу решить это?