Я боролся с этим весь день!
В GemFile у меня есть:
group :test do
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'rspec-rails'
gem 'spork'
gem 'launchy'
gem 'capybara'
gem 'factory_girl_rails'
end
В моем login.feature у меня есть:
Feature: Login on my web site
In order manage my account details
As a security enthusiast
I want to be able, to login and logout and view the superadmin button only when authorized
Scenario: Check if login is working
Given the following user records
| email | password |
| julien@gmail.com | password |
| bob@hotmail.com | password |
And I have 2 or more user records
When I go to the login_url
And I fill in "user_session_email" with "julien@gmail.com"
And I fill in "user_session_password" with "password"
And I press "Login"
Then show me the page
Then I should see "Logged in."
И, наконец, в моем файле logins_steps.rb:
Given /^the following user records$/ do |table|
table.hashes.each do |hash|
u = Factory(:user, hash)
end
end
Все работает хорошо, когда я делаю это вручную, но когда я запускаю rake cucumber , поля заполнены, кнопка нажата, и я перенаправлен на домашнюю страницу, как и должно, но проблема в том, что я не вошел в систему, и при этом я не вижу никаких флеш-сообщений (должно быть сказано, что я вошел в систему)
Если я пытаюсь войти в систему с неверным паролем, меня перенаправляют на страницу входа ...
Понятия не имею, откуда возникла эта проблема, я пытался поиграться с , включающим Authlogic :: TestCase и , требующим "authlogic / test_case" , но ни один из них работают.
Это проблема с файлом cookie, authlogic, factory_girl или огурцом, я действительно понятия не имею.
Если у кого-то есть идея, пожалуйста, не стесняйтесь оставить мне сообщение!
Ура,
Julien