Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我可以使用RSpec测试部署的站点吗?_Ruby On Rails_Testing_Rspec - Fatal编程技术网

Ruby on rails 我可以使用RSpec测试部署的站点吗?

Ruby on rails 我可以使用RSpec测试部署的站点吗?,ruby-on-rails,testing,rspec,Ruby On Rails,Testing,Rspec,首先,我应该说,我对测试我的代码不是很精通,直到最近我才这么做 所以我有了这个rails应用程序。它基本上是一个API端点。它接受请求并吐出JSON。有很好的(我希望)测试覆盖率可以测试大部分功能 现在我们正在部署一个staging env,并希望让负载测试人员(独立部门)来“玩”它。我想超级肯定我们正确地部署了它 我可以针对此登台部署运行RSpec的请求规范吗?人们做过这种测试吗?什么是最佳实践?我应该读什么?是的,您可以使用Rspec和Capybara测试部署的站点。您需要像这样更改配置:

首先,我应该说,我对测试我的代码不是很精通,直到最近我才这么做

所以我有了这个rails应用程序。它基本上是一个API端点。它接受请求并吐出JSON。有很好的(我希望)测试覆盖率可以测试大部分功能

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


我可以针对此登台部署运行RSpec的请求规范吗?人们做过这种测试吗?什么是最佳实践?我应该读什么?

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

  • 将驱动程序更改为
    :webkit
    :selenium
    :poltergeist
    ,因为默认驱动程序(
    :rack_test
    )不支持在远程服务器上运行

    Capybara.javascript_driver = :selenium
    
  • 设置app_主机

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

    Capybara.run_server = false
    

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

    您可以在不使用Rails的情况下运行rspec,并使用rest客户端和json gems测试远程rest端点


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

    我看不到任何测试登台应用程序的附加值。只有特拉维斯在我的电脑外执行我的规格。但你们可以用水豚来做。这是另一种部署,我想测试它的整体性能。例如,我忘记启动我的后台工作人员。现在系统运行不正常。听起来你需要自动化和测试你的部署策略。或者我应该测试一下,是的:)这篇文章是关于让capistrano为你运行一些规范的,在你的情况下,你可以为
    RAILS\u ENV=staging
    而不是生产,但是,除了特定于环境的设置之外,任何rails环境都没有什么特别之处,所以如果您愿意,您可以针对您设置的任何环境进行设置。该站点没有页面,没有javascript。它是一个API端点。它接收和发送JSON格式的数据。你的答案还适用于这个问题吗?@SergioTulentsev是的。它仍然适用。您可以使用水豚机械化驱动程序。有没有不涉及水豚的解决方案?Capybara非常适合用户界面,但对于我们不需要JavaScript,甚至不需要任何HTML分析的API端点(例如,我们不需要引入Nokogiri)来说,它可能有点过头了。我正在考虑RSpec只是运行完全相同的测试,只获取JSON,而不是中的方法。