Capybara/Rspec 测试不会 运行 在一起,但它们自己可以正常工作吗?

Capybara/Rspec tests will not run together, but work fine on their own?

所以我进行了一些 rspec 测试,并且我已经能够 运行 单独测试它们,没有任何问题(他们使用 Selenium 作为驱动程序)。

然而,当我尝试 运行 它们的倍数或将它们放在同一个文件中时,我收到错误消息:

"     Failure/Error: visit ('/')
     ArgumentError:
       rack-test requires a rack application, but none was given"

我知道为什么会这样,因为我的测试都是从独立的角度编写的,它们在每个测试的开头都有 visit ('/')

当水豚在 'describe' 块末尾的 'end' 处测试 "ends" 时...它不会关闭浏览器吗?或者如果我正在编写一个测试套件,它是否应该假设浏览器永远不会关闭?

奇怪的是,例如如果我 运行: rspec --tag type:feature spec/features/* 我遇到了同样的问题(但它们都是单独的文件,所以你会认为浏览器会关闭,每次测试也是如此被标记为 :feature 所以它应该(并且确实)尝试 运行 它们全部。它只是在第一个之后失败)

由于您指定的错误消息提到了 rack-test,并非所有测试都使用 selenium 作为驱动程序。听起来你不是在测试本地应用程序,所以你需要弄清楚哪个测试没有使用硒并改变它,或者设置 Capybara.default_driver = :selenium (或任何你命名的实例使用 selenium 的驱动程序)所以所有测试都在使用它