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

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

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

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

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

是的,您可以使用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 

之后,您可以使用Capybara DSL为部署的服务器创建测试。

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

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