web-dev-qa-db-fra.com

Object.any_instance should_receive vs expect () to receive

Le morceau de code suivant fonctionne comme prévu:

Object.any_instance.should_receive(:subscribe)

Mais lorsque vous utilisez la nouvelle attente rspec, cela ne fonctionne pas:

expect(Object.any_instance).to receive(:subscribe)

L'erreur est:

expected: 1 time with any arguments
received: 0 times with any arguments

Comment puis-je faire fonctionner avec expect () pour recevoir?

71
Calin

Il existe maintenant une méthode pas très bien documentée appelée expect_any_instance_of qui gère le any_instance cas particulier. Tu devrais utiliser:

expect_any_instance_of(Object).to receive(:subscribe)

Google expect_any_instance_of pour plus d'informations.

149
Peter Alfvin