我是 Capybara 的新手,一般在 Rails 上测试过,所以如果这是一个简单的答案,请原谅我。
我有这个测试
it "should be able to edit an assignment" do
visit dashboard_path
select(@project.client + " - " + @project.name, :from => "assignment_project_id")
select(@team_member.first_name + " " + @team_member.last_name, :from => "assignment_person_id")
click_button "Create assignment"
page.should have_content(@team_member.first_name)
end
它按原样通过,但是如果我添加 :js => true 它会失败
cannot select option, no option with text 'Test client - Test project' in select box 'assignment_project_id'
我正在使用 FactoryGirl 创建数据,并且当测试在没有 JS 的情况下通过时,我知道该部分正在工作。
我已经尝试过使用默认的 JS 驱动程序和 :webkit 驱动程序(安装了 capybara-webkit)
我想我不太了解为 Capybara 打开 JS 正在做什么。
为什么在 JS 上测试会失败?