我正在使用RSpec,Spork,Capybara和Capybara Mechanic为使用Facebook连接的注册路径编写集成测试.它通过注册正确导航,但新用户是在我的开发数据库而不是测试数据库中创建的.
RSpec设置为使用测试环境,我已经确认我在我的规范中运行的任何模型方法都打到了测试数据库,但所有UI操作都达到了开发阶段.
这是我的测试:
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
spork 0.9.0
Capybara 1.1.0
capybara-mechanize 0.3.0.rc3