ruby 不推荐使用rspec stub

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 不推荐使用rspec stub相关的知识,希望对你有一定的参考价值。

class Foo
  def repeat
    2.times { repeated }
  end

  def repeated; end
end

describe Foo do
  let(:foo) { stub method1:"hello" }

  context "stub" do
    it "is deprecated to use double" do
      expect(foo.method1).to eq "hello"
    end
  end

  context "stub!" do
    let(:foo) { Foo.new }

    it "is deprecated" do
      foo.stub! bar:"bar"
      expect(foo.bar).to eq "bar"
    end
  end

  context "any_number_of_times" do
    it "is deprecated" do
      Foo.any_instance.should_receive(:repeated).any_number_of_times
      Foo.new.repeat
    end
  end
end

以上是关于ruby 不推荐使用rspec stub的主要内容,如果未能解决你的问题,请参考以下文章

RSpec stubbed方法可以按顺序返回不同的值吗?

Rails 3,RSpec 2.5:使用带有命名范围的 should_receive 或 stub_chain

RSpec Stubbing:返回参数

无法在receive_message_chain rspec中使用非stubbed方法

ruby [rspec]“使用RSpec测试Rails程序”笔记

新入手一枚测试工具:rspec