107

rspec 2.99 から rspec 3.0.3 にアップグレードし、インスタンス メソッドを useallow_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の方法は何ですか?

4

1 に答える 1

189

やったほうがいい

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

docoメソッドのスタブを確認してください。

于 2014-07-31T18:49:24.550 に答える