Utilisation de Jest pour espionner l'appel de méthode dans componentDidMount

Récemment, j'ai voulu tester que certains personnalisée méthode est conventionnellement appelé dans le componentDidMount méthode de Réagir composant.

componentDidMount() {
  if (this.props.initOpen) {
    this.methodName();
  }
}

Je suis en utilisant la Blague que mon framework de test, qui comprend jest.fn() pour les mocks/espions. J'ai lu que ce serait trivial pour le test Sinon, en faisant quelque chose comme ce qui suit:

sinon.spy(Component.prototype, "methodName");
const wrapper = mount(<Component {...props} />);
expect(wrapper.instance().methodName).toHaveBeenCalled();

Je suis en train de recréer ce avec des Blagues comme:

Component.prototype.methodName = jest.fn();
const wrapper = mount(<Component {...props} />);
expect(wrapper.instance().methodName).toHaveBeenCalled();

Ce code échoue et renvoie l'erreur suivante:

jest.fn() value must be a mock function or spy.
Received:
  function: [Function bound mockConstructor]

Est-il possible de tester cette fonctionnalité avec la Blague? Et si oui, comment?

source d'informationauteur seansean11