我有一个下拉框,使用数据库中的数据填充(通过Angular)。
我试图用Capybara和Poltergeist测试它:
select('San Francisco', from: "user_region")
当测试数据库以干净的DB启动时,无法加载数据库中的旧金山选项。如果我没有数据库,我应该如何填充下拉框?
一个想法是从seed.rb运行db:seed,但是当我运行测试时,我宁愿依赖更少的假设。有没有办法使用像Factory Girl这样的东西?
谢谢,
答案 0 :(得分:0)
例如,如果您有以下水豚测试用例,请使用背景块设置测试所需的数据
feature "Signing in" do
background do
Option.create(:name => "San Francisco", :value => "something") #you could also use FactoryGirl.create(:option)
end
scenario "Signing in with correct credentials" do
visit '/sessions/new'
fill_in 'Login', :with => 'user@example.com'
fill_in 'Password', :with => 'caplin'
click_link 'Sign in'
expect(page).to have_content 'Success'
end
end
如果你不知道它,那么这是link for factory_girl。它在为各种测试设置数据时非常方便。