it-roy-ru.com

rspec 3 - заглушить метод класса

Я обновляю с rspec 2.99 до rspec 3.0.3 и преобразовал методы экземпляра для использования allow_any_instance_of, но не выяснил, как заглушить метод класса. У меня есть такой код:

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

и мой тест rspec 2 делает это:

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

Что такое способ Rspec 3?

81
Peter Sankauskas

Ты должен сделать

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

Посмотрите документацию Заглушки метода .

153
Arup Rakshit