Rails:切换到puma以获得请求规范

问题描述 投票:0回答:1

我们正在使用RSpec 3.7开发Rails 3.2应用程序,并希望将puma用作我们的Rails请求规格的Web服务器。

我们知道可以使用以下命令来切换Capybara功能规格的服务器

Capybara.register_server :puma

但是我们如何才能为请求规格切换服务器?

背景:

我们希望规范并发问题,并且需要我们的测试服务器实际并行处理请求。

ruby-on-rails ruby-on-rails-3 rspec rspec-rails
1个回答
0
投票

AFAIU(https://relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec)请求规范未使用任何服务器。该请求将直接通过Rails应用程序定向(中间件->路由器->控制器)。

所以...

Capybara测试将使用无头浏览器发出请求,并且框架将为您启动实际的Web服务器(例如puma)。

请求规范将绕过实际的服务器,因此规范将测试整个应用程序堆栈。

控制器规范甚至可以避免路由,并且将使用准备好的请求对象来调用控制器。

依此类推,一直到实际的单元测试...

© www.soinside.com 2019 - 2024. All rights reserved.