web-dev-qa-db-fra.com

rspec 3 - stub une méthode de classe

Je passe de rspec 2.99 à rspec 3.0.3 et j'ai converti des méthodes d'instance pour utiliser allow_any_instance_of, mais n’a pas trouvé le moyen de remplacer une méthode de classe. J'ai un code comme ça:

module MyMod
  class Utils
    def self.find_x(myarg)
      # Stuff
    end
  end
end

et mon test rspec 2 fait ceci:

MyMod::Utils.stub(:find_x).and_return({something: 'testing'})

Quelle est la manière de procéder de Rspec 3?

82
Peter Sankauskas

Tu devrais faire

allow(MyMod::Utils).to receive(:find_x).and_return({something: 'testing'})

Découvrez la doco Méthode stubs .

155
Arup Rakshit