我们正在使用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)。
请求规范将绕过实际的服务器,因此规范将测试整个应用程序堆栈。
控制器规范甚至可以避免路由,并且控制器将使用准备好的请求对象进行调用。
依此类推,一直到实际的单元测试...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句