Ich aktualisiere von rspec 2.99 auf rspec 3.0.3 und habe Instanzmethoden für die Verwendung konvertiert allow_any_instance_of
, aber nicht herausgefunden, wie eine Klassenmethode gestoppt werden kann. Ich habe folgenden Code:
module MyMod
class Utils
def self.find_x(myarg)
# Stuff
end
end
end
und mein rspec 2 Test macht das:
MyMod::Utils.stub(:find_x).and_return({something: 'testing'})
Wie geht das mit Rspec 3?
ruby-on-rails
ruby
rspec
rspec3
Peter Sankauskas
quelle
quelle
expect(Class.foo).to eq(bar)
erhalte ich einen "Fehler mit der falschen Anzahl von Argumenten", weil diefoo
Methode normalerweise 2 Argumente will ... aber ich möchte nur, dass sie zurückgibt, was ich in den Stub gesetzt habeexpect(Class.foo).to receive(bar).with(arg1, arg2).and_return({..object})