我可以使用RSpec测试已部署的站点吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以使用RSpec测试已部署的站点吗?相关的知识,希望对你有一定的参考价值。
我应该首先说,我不是很精通测试我的代码,直到最近我才完全没有这样做。
所以我有这个rails应用程序。它基本上是一个API端点。它需要请求并吐出JSON。有很好的(我希望)测试覆盖率应该测试大多数功能。
现在我们正在部署一个staging env,并希望让负载测试人员(独立部门)与之“玩”。我想确定我们是否正确部署了它。
我是否可以针对此暂存部署运行RSpec的请求规范?人们会做这种测试吗?什么是最佳做法?我该怎么读?
答案
是的,您可以使用Rspec和Capybara测试已部署的站点。你需要改变这样的配置:
- 将驱动程序更改为
:webkit
,:selenium
或:poltergeist
,因为默认驱动程序(:rack_test
)不支持针对远程服务器运行。Capybara.javascript_driver = :selenium
- 设置app_host。
Capybara.app_host = 'http://example.com'
- 关闭本地服务器。
Capybara.run_server = false
之后,您可以使用Capybara DSL为部署的服务器创建测试。
另一答案
您可以在没有Rails的情况下运行rspec,并使用rest-client和json gems来测试远程REST端点。
(我已经使用这种方法为带有REST API的Java应用程序生成可读测试。)
以上是关于我可以使用RSpec测试已部署的站点吗?的主要内容,如果未能解决你的问题,请参考以下文章
ruby 1.9 和 RSpec2 有啥好的突变测试工具吗?