it-swarm.com.de

rspec 3 - Stub einer Klassenmethode

Ich aktualisiere von rspec 2.99 auf rspec 3.0.3 und habe Instanzmethoden zur Verwendung von allow_any_instance_of Konvertiert, aber nicht herausgefunden, wie eine Klassenmethode gestubpt wird. 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?

82

Du solltest tun

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

Lesen Sie die doco Methodenstubs .

155
Arup Rakshit