我可以使用RSpec测试已部署的站点吗?

时间:2012-08-31 16:14:04

标签: ruby-on-rails testing rspec

我应该首先说,我不是很精通测试我的代码,直到最近我才完全没有这样做。

所以我有这个rails应用程序。它基本上是一个API端点。它需要请求并吐出JSON。有很好的(我希望)测试覆盖率应该测试大多数功能。

现在我们正在部署一个staging env,并希望让负载测试人员(独立部门)与之“玩”。我想确定我们是否正确部署了它。

我是否可以针对此暂存部署运行RSpec的请求规范?人们会做这种测试吗?什么是最佳做法?我该怎么读?

2 个答案:

答案 0 :(得分:5)

是的,您可以使用Rspec和Capybara测试已部署的站点。您需要更改此配置:

  1. 将驱动程序更改为:webkit:selenium:poltergeist,因为默认驱动程序(:rack_test)不支持针对远程服务器运行。

    Capybara.javascript_driver = :selenium
    
  2. 设置app_host。

    Capybara.app_host = 'http://example.com'
    
  3. 关闭本地服务器。

    Capybara.run_server = false
    
  4. 之后,您可以使用Capybara DSL为已部署的服务器创建测试。

答案 1 :(得分:1)

您可以在没有Rails的情况下运行rspec,并使用rest-client和json gems来测试远程REST端点。

(我已经使用这种方法为带有REST api的Java应用程序生成可读测试。)