Cucumber BDD с интеграцией капибары и устройств

В качестве продолжения моего предыдущего вопроса о SO я следовал руководству по адресу https://github.com/RailsApps/rails3-devise-rspec-cucumber/wiki/Tutorial неукоснительно пытался определить причину неудачных тестов.

Мой основной сценарий терпит неудачу:

Feature: Sign in
  Scenario: User signs in successfully with email
    Given I am a new, authenticated user 
    When I go to the tour page
    Then I should be signed in

Это мои шаги:

Given /^I have one\s+user "([^\"]*)" with password "([^\"]*)"$/ do |email, password|
  u = User.new(:email => email,
           :password => password,
           :password_confirmation => password)
  u.skip_confirmation!
  u.save!
end

Given /^I am a new, authenticated user$/ do
  email = '[email protected]'
  password = 'please'

  Given %{I have one user "#{email}" with password "#{password}"}
  And %{I go to the sign in page}
  And %{I fill in "user_email" with "#{email}"}
  And %{I fill in "user_password" with "#{password}"}
  And %{I press "Log Me In"}
end

Then /^I should be signed in$/ do
  And %{I should see "Sign out"}
end

Ошибка входа в систему, хотя мой тестовый пользователь создан правильно. Использование save_and_open_page показывает, что капибара заполняет форму, как и ожидалось, поэтому похоже, что это проблема разработки.

Мне интересно, есть ли проблема интеграции с компонентами, так как я использую установку rails 3.0 (учебник находится на 3.1).

Моя среда использует следующее:

  • рубин 1.8.7
  • рельсы 3.0.3
  • капибара 1.0.0
  • огурец 1.0.0
  • разработка 1.2.rc
  • грабли 0.9.2

person bcouste    schedule 28.06.2011    source источник
comment
у вас все еще есть проблемы здесь?   -  person nessur    schedule 14.07.2011
comment
да. Тем временем я использовал обходной путь, чтобы войти непосредственно в ApplicationController, но проблема, описанная выше, остается.   -  person bcouste    schedule 19.07.2011
comment
Раньше меня кусали плохие тестовые данные, иногда трудно полностью/правильно протестировать фабрики. Попробуйте запустить локальный сервер с «тестовой» средой и «тестовой» консолью сбоку. Создайте нового пользователя из той же фабрики на шагах тестирования, а затем попробуйте войти с его помощью из своего браузера.   -  person nessur    schedule 19.07.2011