7

Rails 3.2、RSpec 2.11。コントローラー マクロが機能していません。私が行ったすべての調査から、正しく記述されているようです。これがコードです

/spec/support/controller_macros.rb

module ControllerMacros
   def login_user
    before(:each) do
      @request.env["devise.mapping"] = Devise.mappings[:user]
      user = FactoryGirl.create(:user)
      @current_user = user
      sign_in user
    end
  end
end

/spec/spec_helper.rb

RSpec.configure do |config|
  ....
  config.extend ControllerMacros, :type => :controller
end

/spec/controllers/companies_controller_spec.rb

require File.dirname(__FILE__) + '/../spec_helper'

describe CompaniesController, "index companies" do
    context "for authenticated users" do
        login_user
        ...
    end
end

実行結果: 未定義のローカル変数またはメソッド 'login_user' for # (NameError)

4

2 に答える 2

2

ここで回答されているようですが、に変更extendする必要がありますinclude

于 2013-03-18T15:09:24.097 に答える