我是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
Run Code Online (Sandbox Code Playgroud)
它按原样传递,但如果我添加:js => true则失败
cannot select option, no option with text 'Test client - Test project' in select box 'assignment_project_id'
Run Code Online (Sandbox Code Playgroud)
我正在使用FactoryGirl来创建数据,并且由于测试在没有JS的情况下通过,我知道该部分正在运行.
我尝试使用默认的JS驱动程序,并使用:webkit驱动程序(安装了capybara-webkit)
我想我不太了解为Capybara开启JS的目的是什么.
为什么测试会因JS而失败?