Я использую 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