web-dev-qa-db-ja.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の方法は何ですか?

82

やったほうがいい

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

Doco Methodスタブ を確認してください。

155
Arup Rakshit