Тест Jest не запускает родительскую функцию onClick в дочернем компоненте - PullRequest
0 голосов
/ 14 мая 2018

Итак, я тестирую следующий дочерний компонент, который получает функцию от родителя в свой реквизит:

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.

Как я могу решить это?

...