Я использую RSpec, Spork, Capybara и Capybara Mechanic для написания интеграционных тестов для пути регистрации, который использует Facebook connect. Он корректно перемещается по регистрации, но новые пользователи создаются в моей базе данных разработки вместо тестовой базы данных.
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, но это не помогло.
Кто-нибудь знает, что мне нужно сделать, чтобы капибара попала в тестовую базу данных?
рельсы 3.1.3
rspec 2.7.0
Спорк 0,9,0
капибара 1.1.0
капибара-механизатор 0.3.0.rc3