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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以使用RSpec测试已部署的站点吗?相关的知识,希望对你有一定的参考价值。

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

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

现在我们正在部署一个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应用程序生成可读测试。)

以上是关于我可以使用RSpec测试已部署的站点吗?的主要内容,如果未能解决你的问题,请参考以下文章

ruby 1.9 和 RSpec2 有啥好的突变测试工具吗?

有没有办法使用 rspec-serverspec 在部署期间测试是不是安装了特定版本的 java 或 tomcat?

使用Rails Rspec进行测试 - 预期和得到的不匹配

Rspec 挂在 Ruby 2.7.4 上,没有输出

使用 Rspec 测试 Rails 3.1 可安装引擎

Rspec 测试模型是不是被锁定以进行更新?