Как использовать тестовую базу данных с Capybara?

Я использую RSpec, Spork, Capybara и Capybara Mechanic для написания интеграционных тестов для пути регистрации, который использует соединение с Facebook. Он правильно перемещается по регистрации, но новые пользователи создаются в моей базе данных разработки, а не в тестовой базе данных.

RSpec настроен на использование тестовой среды, и я подтвердил, что все методы модели, которые я использую в своей спецификации, попадают в тестовую базу данных, но все действия пользовательского интерфейса требуют разработки.

Вот мой тест:

it "go through registration path" do
  print "RAILS_ENV: #{Rails.env}\n" # correctly prints 'test'
  print "1) #{User.count}\n" # correctly shows the user count in my test database (zero)

  Capybara.current_driver = :mechanize

  visit root_path
  click_link "register"

  # Fill in Facebook Connect form
  fill_in 'email', :with => "bob@example.com"
  fill_in 'pass', :with => "password"
  click_button "Log In"

  print "2) #{User.count}\n" # still shows zero users in the test database

end

После этого теста я могу посмотреть свою базу данных разработки, и там был создан новый пользователь.

Я тоже пробовал настроить database_cleaner, но это не помогло.

Кто-нибудь знает, что мне нужно сделать, чтобы капибара попала в тестовую базу данных?

rails 3.1.3

rspec 2.7.0

spork 0.9.0

capybara 1.1.0

capybara-Mechanize 0.3.0.rc3

7
задан Chris 28 December 2011 в 23:44
поделиться