2013-07-25 23 views
0

我是新来的轨测试。谷歌已经没有办法解决那些应该经常需要的两天了。如何在云部署上运行rails请求规范?

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

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

到目前为止,我一直在使用RSpec的/水豚,但如果有必要会切换到类似的权力的任何东西。

回答

1

可以使用水豚与硒的驱动程序,并设置Capybara.app_host指定的你IP分期应用服务器。虽然这样做,你可以关闭水豚本地机架与Capybara.run_server = false

远程测试将只允许您执行人类行为和测试返回生成的HTML/JS/JSON等..但没有访问控制器,视图或任何其他应用内部对象。

在你可以做的事情上(我从来没有尝试过,但我不明白为什么它不起作用)是设置你的database.yml测试配置来远程访问你的数据库,让你控制数据库在测试期间。这不是很安全,所以你可能想通过SSH隧道或类似的解决方案来做到这一点。

+0

非常感谢。这非常有帮助。我会试试看。什么是设置水豚配置的最佳地点? – Gene

+0

水豚是不是独立的,它把你的测试套件以上。所以如果你使用rspec,你必须在你的spec_helper.rb文件中配置Capybara。在这里查看所有信息:https://github.com/jnicklas/capybara – Benj

相关问题