неопределенный метод `setup' для main:Object при попытке запустить тесты контроллера с authlogic

Я немного новичок в тестах RSpec, и я пытаюсь запустить некоторые тесты контроллера в своем приложении Rails 3, используя аутентификацию RSpec 2 и Authlogic 3.

Выполните шаги, описанные в документации Authlogic (http://rdoc.info/github/binarylogic/authlogic/master/Authlogic/TestCase), в моих файлах есть следующие коды:

spec_helper.rb

require "authlogic/test_case" # include at the top of test_helper.rb  

events_controller_spec.rb

require 'spec_helper'  
setup :activate_authlogic  

Запустив тесты через rake spec SPEC='spec/controllers/eventos_controller_spec.rb' я получил следующую ошибку:

events_controller_spec.rb:2: undefined method `setup' for main:Object (NoMethodError)

Когда я запускал тесты перед использованием authlogic, у меня не было проблем.

Я использую Ubuntu 11.04 и эту конфигурацию:

ruby - 1.8.7  
rails - 3.0.7  
authlogic - 3.0.2  
rspec-rails - 2.4.1  
factory_girl_rails - 1.0.1

person klidebharrow    schedule 10.05.2011    source источник


Ответы (1)


Метод установки не определен, поскольку это Метод Test::Unit. Из документов authlogic:

Если вы используете Test::Unit::TestCase, стандартную библиотеку тестирования, поставляемую с Ruby, то вы можете пропустить следующую часть. Если нет, вам необходимо включить Authlogic::TestCase в свой набор для тестирования.

Чтобы сделать то же самое с RSpec, вы должны включить Authlogic::TestCase и вызвать enable_authlogic перед каждой спецификацией:

require 'spec_helper'

describe EventsController do
  include Authlogic::TestCase

  before(:each) do
    activate_authlogic
  end
end
person Tomas Mattia    schedule 15.11.2011