首先我应该说,我不太擅长测试我的代码,而且直到最近我才开始这样做。
所以我有这个 Rails 应用程序。它基本上是一个 API 端点。它接受请求并吐出 JSON。有很好的(我希望)测试覆盖率可以测试大部分功能。
现在我们正在部署一个暂存环境,并希望让负载测试人员(独立部门)“玩”它。我想非常确定我们是否正确部署了它。
我可以针对这个暂存部署运行 RSpec 的请求规范吗?人们会做这种测试吗?什么是最佳实践?我应该读什么?
首先我应该说,我不太擅长测试我的代码,而且直到最近我才开始这样做。
所以我有这个 Rails 应用程序。它基本上是一个 API 端点。它接受请求并吐出 JSON。有很好的(我希望)测试覆盖率可以测试大部分功能。
现在我们正在部署一个暂存环境,并希望让负载测试人员(独立部门)“玩”它。我想非常确定我们是否正确部署了它。
我可以针对这个暂存部署运行 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 gem 来测试远程 REST 端点。
(我已经使用此方法为带有 REST api 的 Java 应用程序生成可读测试。)