0

我是 Rails 测试的新手。两天的谷歌销售线索没有找到解决应该经常需要的解决方案。

如果我编写请求(集成)规范以使用 Selenium 或其他基于浏览器的驱动程序,是否可以将测试的 i/o 重定向到云服务器(在我的情况下为 Heroku)上的暂存部署?

如果是这样,怎么做?如果没有,是什么阻止了它的工作?

到目前为止,我一直在使用 rspec/capybara,但如有必要,我会切换到任何类似功能的东西。

4

1 回答 1

1

您可以将 Capybara 与 Selenium 驱动程序一起使用,并设置Capybara.app_host为指定暂存应用程序服务器的 IP。这样做时,您可以使用以下命令关闭 Capybara 本地机架Capybara.run_server = false

远程测试将只允许您执行人工操作并测试返回的生成的 HTML/JS/Json 等.. 但不能访问控制器、视图或任何其他应用程序内部对象。

您可以做的事情(我从未尝试过,但我不明白为什么它不起作用)是设置您的 database.yml 测试配置以远程访问您的暂存数据库,允许您在测试期间控制数据库. 它不是很安全,因此您可能希望通过 SSH 隧道或类似的解决方案来执行此操作。

于 2013-07-26T00:38:14.563 回答