RSpec:#RSpec :: Core :: ExampleGroup :: Nested的未定义方法`allow'

rai*_*slg 2 rspec ruby-on-rails

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

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
Run Code Online (Sandbox Code Playgroud)

osm*_*man 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)
Run Code Online (Sandbox Code Playgroud)