Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 水豚网络工具包驱动程序重置?_Ruby On Rails 3_Capybara_Capybara Webkit - Fatal编程技术网

Ruby on rails 3 水豚网络工具包驱动程序重置?

Ruby on rails 3 水豚网络工具包驱动程序重置?,ruby-on-rails-3,capybara,capybara-webkit,Ruby On Rails 3,Capybara,Capybara Webkit,一些capybara webkit驱动程序(:js=>true)测试有点奇怪 测试在自己运行时运行良好,但不知何故,按顺序,它们失败了 例如,我有一个如下的请求测试 describe "A", :js => true do # tests here run fine end describe "B", :js => true do # tests here fail end 当我将description B节拆分到它自己的文件中,并使用bundle exec rspec

一些capybara webkit驱动程序(
:js=>true
)测试有点奇怪

测试在自己运行时运行良好,但不知何故,按顺序,它们失败了

例如,我有一个如下的请求测试

describe "A", :js => true do
  # tests here run fine
end

describe "B", :js => true do
  # tests here fail
end
当我将
description B
节拆分到它自己的文件中,并使用
bundle exec rspec spec/requests/B_spec.rb
运行它时,测试运行良好并通过

通过调试,看起来当两个部分位于同一个文件中时,webkit驱动程序以某种方式加载了一个“脏”浏览器会话。尝试
page.driver.reset
Capybara.reset\u会话
Capybara.reset似乎没有任何效果

当使用旁观者/spork时,这不是一个问题,因为我可以将测试拆分为不同的文件并独立运行它们,但是当使用
bundle exec rspec
运行全套测试时-这些测试失败

如何在测试之间正确重置webkit驱动程序/会话?或者我正在寻找错误的问题


p、 这些测试不会以任何特定方式影响数据库或改变状态,因此我很确定这是与驱动程序相关的问题。

有时,编写问题以弹出解决方案会有所帮助

对我来说,关键是:

这些测试不会影响数据库或以任何特定方式改变状态,因此我很确定这是与驱动程序相关的问题

结果是状态发生了变化。在我的特殊情况下,将
OmniAuth
设置为
test\u模式
,这需要在上一个测试运行后将其设置回
false