1

Deviseのヘルパーメソッドをコントローラー仕様で機能させようとしています。関連するコードは次のとおりです。

# spec/spec_helper.rb
RSpec.configure do |config|
  # other config stuff ...
  config.include Devise::TestHelpers, :type => :controller
end

#spec/controllers/posts_controller_spec.rb
require 'spec_helper'

describe PostsController do

  describe "GET index" do

    admin = FactoryGirl.create(:admin)
    sign_in admin  # NoMethodError occurs
    it "does something..." do
    # etc etc etc
end

このルートからテンプレートをレンダリングするには、認証を受ける必要があります。そのため、テストに合格するために管理者にサインインしようとしています。ご協力いただきありがとうございます。

4

1 に答える 1

0

sign_inメソッドは、そのコンテキスト内またはブロックの前に使用する必要があると思います。試す:

before do
   admin = FactoryGirl.create(:admin)
   sign_in admin  # NoMethodError occurs
end
于 2012-08-03T23:00:54.773 に答える