我正在尝试为我的网站创建功能规格,但我已经在门外发现了一个绊脚石。
当我尝试运行capybara javascript功能规范时,它会失败,但不会结束测试或关闭浏览器窗口。
运行此测试
RSpec.feature "Whatever", type: :feature, js: true do
scenario "whatever again" do
visit "/whatever_url"
expect(true).to eq(true)
end
end
结果
Whatever
whatever again (FAILED - 1)
并在那里挂了几个小时,没有关于导致失败的原因的消息
我尝试过使用selenium和webkit javascript驱动程序。 他们大部分时间都在工作,因为当我用他们执行更复杂的操作来运行它们时,它只是完成了给我带来麻烦的测试部分。
我使用rails 4.2.4,rspec 3.5.1,capybara 2.7.1和ubuntu 15.10运行它。 如果我有任何其他有用的数据,请告诉我
答案 0 :(得分:1)
我弄清楚问题是什么。
在我的rails_helper中,有一个config.after(:all)
块包裹DatabaseCleaner.clean
,当javascript规范完成时冻结了。{/ p>
当visit
被解雇时,测试本身的失败是控制台中缺少的资产。
更新:我也遇到了与capybara和js webdrivers交互设计的其他问题,并使用解决方案here解决了这个问题,并且在实现该解决方案之后,DatabaseCleaner.clean
中的after(:all)
不再导致此问题