undefined метод `setup 'для main: Object при попытке запустить тесты контроллера с authlogic - PullRequest
3 голосов
/ 10 мая 2011

Я немного новичок в тестах 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

1 Ответ

1 голос
/ 15 ноября 2011

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

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

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

require 'spec_helper'

describe EventsController do
  include Authlogic::TestCase

  before(:each) do
    activate_authlogic
  end
end
...