所以我有一些rspec测试,并且我已经能够单独运行它们而没有问题(他们使用Selenium作为他们的驱动程序)。
但是,当我尝试运行它们的多个或将它们放在同一个文件中时,我收到一个错误:
" Failure/Error: visit ('/')
ArgumentError:
rack-test requires a rack application, but none was given"
我知道为什么会这样,因为我的测试都是从独立的角度编写的,所以在每次测试开始时都有visit ('/')
。
当水豚测试"结束"在字面意思是'结束'在描述'结束时阻止......它不关闭浏览器吗?或者,如果我正在编写一个测试套件,那么所有人都认为浏览器永远不会关闭吗?
奇怪的是,例如,如果我运行:rspec --tag type:feature spec/features/*
我得到同样的问题(但它们都是单独的文件,所以你会认为浏览器会关闭,每个测试都标记为:feature so它应该(并且确实)尝试全部运行它们。它只是在第一个之后失败了)
答案 0 :(得分:1)
由于您指定的错误消息提到了机架测试,因此并非所有测试都使用selenium作为驱动程序。这听起来好像你没有测试本地应用程序,所以你需要弄清楚哪个测试没有使用selenium并更改它,或者设置Capybara.default_driver = :selenium
(或任何你命名为你的实例的使用selenium的驱动程序所以所有测试都使用它