Rails3 + Rspec2: неопределенный метод `authenticate! ' для ноля: NilClass - PullRequest
0 голосов
/ 09 апреля 2011

Все мои тесты не пройдены, когда я добавляю before_filter authenticate_user! моим контроллерам. Как я могу получить это?

Спасибо

Ответы [ 2 ]

4 голосов
/ 09 апреля 2011

Вы должны войти в систему пользователя в ваших тестах. Я не знаю метод аутентификации, который вы используете, но я сделаю дикое предположение. Если это разработано, создайте spec / support / controller_macros.rb и вставьте:

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

Я использую фабричницу, чтобы создать фабрику, но ты можешь делать это как хочешь. Затем в ваших тестах добавьте это как:

describe AlliancesController do
    login_user

  describe "GET 'show' without an id" do
......
1 голос
/ 30 марта 2012

включите Devise :: TestHelpers в вашу спецификацию http://pupeno.com/2010/09/26/undefined-method-authenticate/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...