我是新来的水豚和一般的测试Rails,所以请原谅我,如果这是一个简单的答案。水豚与:js =>真正导致测试失败
我有了这个测试
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 =>真正的失败与
cannot select option, no option with text 'Test client - Test project' in select box 'assignment_project_id'
我使用FactoryGirl创建数据,而且由于测试通过没有JS,我知道这部分工作。
我已经尝试用默认的JS驱动程序,并用:(安装了水豚,WebKit的),WebKit的驱动
我想我不明白就够了转折点上JS的水豚在做什么。
为什么JS上的测试失败?
这可能是因为JS打开时使用不同类型的选择器。我遇到过类似的奇怪问题,就像之前那样。你可以修改你的测试,并选择你选择更简单(没有“ - ”)例如'select(@ project.name,:from =>“assignment_project_id”)'来测试它,看看会发生什么? –
感谢您的想法。试过了,但不幸的是它没有奏效。现在只是“没有选项和文本”测试项目“” – evanmcd
现在看来,我将使用的解决方法是使用数据填充测试数据库,并将每个测试隔离为只需要数据库中的数据。也许这是从一开始就应该如何完成的,但我的印象是你可以使用Capybara插入一条记录,然后只要它在同一个“it”块内,就对来自该插入的数据起作用。 – evanmcd