【问题标题】:How to run rails request specs on a cloud deployment?如何在云部署上运行 Rails 请求规范?
【发布时间】:2013-07-25 23:34:42
【问题描述】:

我是 Rails 测试的新手。与 Google 合作两天的销售线索没有找到解决本应经常需要的解决方案。

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

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

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

【问题讨论】:

    标签: ruby-on-rails heroku selenium integration-testing


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢。这很有帮助。我会试试看。设置 Capybara 配置的最佳位置是什么?
    • Capybara 不是独立的,它位于您的测试套件之上。所以如果你使用 rspec,你必须在你的 spec_helper.rb 文件中配置 Capybara。有关所有信息,请参见此处:github.com/jnicklas/capybara
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 2014-07-10
    相关资源
    最近更新 更多