Je passe de rspec 2.99 à rspec 3.0.3 et j'ai converti les méthodes d'instance à utiliser allow_any_instance_of
, mais je n'ai pas compris comment stuber une méthode de classe. J'ai un code comme celui-ci:
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 Rspec 3 de faire cela?
ruby-on-rails
ruby
rspec
rspec3
Peter Sankauskas
la source
la source
expect(Class.foo).to eq(bar)
j'obtiens une "erreur de nombre d'arguments erroné" parce que lafoo
méthode veut normalement 2 arguments .... mais je veux juste qu'elle renvoie ce que j'ai mis dans le stubexpect(Class.foo).to receive(bar).with(arg1, arg2).and_return({..object})