我遇到了一个问题,我需要补偿由于Turbolinks而被叫两次的节目。我希望能够在我的测试中发现这个和类似的问题,但由于这个问题在测试中不可重现,我假设默认情况下不启用Turbolinks。有人可以确认这是否属实,并分享是否可以启用它的信息?
答案 0 :(得分:1)
Turbolinks需要JavaScript,默认的Capybara浏览器(rack_test
)不支持JavaScript。但您可以设置备用Web浏览器,并通过传递js: true
describe "My feature"
it "Can test the front page without JavaScript" do
# Non-JS test here
end
it "Tests a JS-requiring feature", js: true do
# JS tests here
end
end
Capybara然后将使用Capybara:javascript_driver
中配置的驱动程序来运行该测试。默认情况下,这是Selenium,但您可能希望将Capybara-webkit视为(可能)更容易设置的替代方案。
Capybara documentation has more details about alternative JavaScript-supporting drivers。
答案 1 :(得分:0)
Turbolinks 5 beta目前还没有评估内联javascript,但是会发布5.0版本。我不确定您的代码是否内联。除此之外,我所知道的任何具体内容都不应该阻止Capybara使用turbolinks。