RSpec:未定义的方法`allow&#39; for#<rspec :: core :: examplegroup :: nested

时间:2015-12-15 21:47:38

标签: ruby-on-rails rspec

=“”

我在RSpec 2.12.2中编写了一个视图规范。我得到的错误是undefined method: allow。我在RSpec的更高版本中使用了类似的东西。 2.12.2中是否不存在allow?是否有另一种方法可以在此版本中存根方法调用?

require 'spec_helper'

describe "user_achievements/index.html.haml" do
  let(:application) { double }
  let(:user) { double }

  before do
    allow(view).to receive_message_chain(:user, :registered?).and_return(true)

    render
  end

  it "includes a table for user achievements" do
    expect(rendered).to have_css(".data-table")
  end
end

1 个答案:

答案 0 :(得分:5)

直到2.14才允许引入。您可以使用obj.stub和stub_chain

# specify a return value
obj.stub(:message) { :value }
obj.stub(:message => :value)
obj.stub(:message).and_return(:value)

subject.stub_chain(:one, :two, :three).and_return(:four)