У меня есть приложение Rails, которое автоматически перенаправляется с домашней страницы на страницу входа в систему, если ни один пользователь не вошел в систему. Я использую Authlogic для проверки подлинности, Cucumber и Capybara для тестирования.Активация активации в огурце
У меня есть следующий сценарий:
Scenario: Start application
Given I am not logged in
When I go to the application web page
Then I should see a login form
С помощью следующих этапов испытания:
Given(/^I am not logged in$/) do
end
When(/^I go to the application web page$/) do
visit root_path
end
(Then I should see a login form
является немного сложным, потому что это безразличный, но я не получаю, что далеко так это вероятно, не имеет значения).
После руководство http://laserlemon.com/blog/2011/05/20/make-authlogic-and-cucumber-play-nice/ я создал файл, содержащий features\support\authlogic,rb
:
require 'authlogic/test_case'
World(Authlogic::TestCase)
ApplicationController.skip_before_filter :activate_authlogic
Before do
activate_authlogic
end
, но когда я бегу Огурцы, visit root_path
терпит неудачу с Authlogic::Session::Activation::NotActivatedError: You must activate the Authlogic::Session::Base.controller with a controller object before creating objects
Что я делаю неправильно?
Какой драйвер capybara вы используете - используемый по умолчанию тестовый драйвер Rack :: Test или Javascript? –
Предположительно, по умолчанию, потому что я не знаю, что сделал что-нибудь, чтобы изменить его. – digitig
Не проблема с драйверами, поддерживающими Javascript, о которых я тогда думал. Хммм. –