Dies ist mein Szenario:Wie ignoriert man einige Aufrufe derselben Methode mit unterschiedlichen Argumenten in Rspec?
Nach dem Aktualisieren eines AR-Objekts wird eine Reihe von Hintergrundjobs mit Resque ausgelöst. In meiner specs bin spöttisch ich den Anruf # enqueue, etwas in den Zeilen Resque:
it 'should be published' do
# I need to setup these mocks in many places where I want to mock a specific call to Resque, otherwise it fails
Resque.should_receive(:enqueue).with(NotInterestedJob1, anything)
Resque.should_receive(:enqueue).with(NotInterestedJob2, anything)
Resque.should_receive(:enqueue).with(NotInterestedJob3, anything)
# I'm only interested in mocking this Resque call.
Resque.should_receive(:enqueue).with(PublishJob, anything)
end
Wie Sie sehen können, muss ich alle anderen Anrufe Resque # enqueue jedes Mal verspotten möchte ich einen bestimmten verspotten Rufen Sie an, gibt es eine Möglichkeit, nur einen benutzerdefinierten Aufruf zu verspotten und die anderen Aufrufe mit anderen Argumenten zu ignorieren?
Vielen Dank im Voraus;)
Ich denke, was Sie bereits geschrieben haben, sollte funktionieren - was ist das Problem? –
Hallo Frederick, das Problem war, dass ich all diese Mocks überall hinzufügen musste, wenn ich einen bestimmten Resque-Call spielen wollte. – rdavila