Rails:切换到 puma 以获取请求规格
Rails: switch to puma for request specs
我们正在使用 RSpec 3.7 开发 rails 3.2 应用程序,并希望使用 puma 作为我们 rails 请求规范的 Web 服务器。
我们知道我们可以使用
为 Capybara 功能规格切换服务器
Capybara.register_server :puma
但是我们如何根据请求规范切换服务器?
背景:
我们想要规范并发问题并需要我们的测试服务器实际并行处理请求。
AFAIU (https://relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec) 请求规范未使用任何服务器。请求将直接通过 Rails 应用程序(中间件 -> 路由器 -> 控制器)。
所以...
Capybara 测试会使用无头浏览器发出请求,框架会为您启动实际的 Web 服务器(例如,puma)。
请求规范将绕过实际服务器,以便规范测试整个后端堆栈。
控制器规范甚至会避免路由,并且会使用准备好的请求对象调用控制器。
等等,一直到实际的单元测试...
我们正在使用 RSpec 3.7 开发 rails 3.2 应用程序,并希望使用 puma 作为我们 rails 请求规范的 Web 服务器。
我们知道我们可以使用
为 Capybara 功能规格切换服务器Capybara.register_server :puma
但是我们如何根据请求规范切换服务器?
背景:
我们想要规范并发问题并需要我们的测试服务器实际并行处理请求。
AFAIU (https://relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec) 请求规范未使用任何服务器。请求将直接通过 Rails 应用程序(中间件 -> 路由器 -> 控制器)。
所以...
Capybara 测试会使用无头浏览器发出请求,框架会为您启动实际的 Web 服务器(例如,puma)。
请求规范将绕过实际服务器,以便规范测试整个后端堆栈。
控制器规范甚至会避免路由,并且会使用准备好的请求对象调用控制器。
等等,一直到实际的单元测试...