jsa*_*h16 30 rspec ruby-on-rails rails-api
我正在研究rails API,我现在正计划为控制器编写一些RSpec测试.我一直在阅读,我无法弄清楚控制器规格和请求规格之间的实际区别是什么,以及如果我正在测试API,我应该使用哪一个.
Quv*_*Quv 17
事实上,Rspec团队正式表示控制器规格现在不鼓励.
http://rspec.info/blog/2016/07/rspec-3-5-has-been-released/
对于新的Rails应用程序:我们不建议将rails-controller-testing gem添加到您的应用程序中.Rails团队和RSpec核心团队的官方建议是编写请求规范.请求规范允许您专注于单个控制器操作,但与控制器测试不同,涉及路由器,中间件堆栈以及机架请求和响应.这为您正在编写的测试增加了真实感,并有助于避免控制器规范中常见的许多问题.在Rails 5中,由于Rails提交者团队的Eileen Uchitelle1的工作,请求规范明显快于rails 4中的请求或控制器规范.
小智 13
控制器规范 - 控制器规范是Rails功能测试的RSpec包装器.它允许您在每个示例中模拟单个http请求,然后指定预期结果
请求规范 - 请求规范提供了一个围绕Rails集成测试的瘦包装,旨在通过完整堆栈驱动行为,包括路由(由Rails提供)和没有存根(由您决定).
因此,如果您想测试API控制器,我建议Controller specs
您在测试单个请求时使用.
引用亚伦萨姆纳:
Rails和RSpec团队都建议更换或删除应用程序的控制器测试(也称为功能测试层),支持直接测试模型(单元)或更高级别的集成测试.
对于一个新的API,我更喜欢使用请求规范并点击我的"终点"(又称模型和业务逻辑),而不是使用控制器测试.
归档时间: |
|
查看次数: |
8048 次 |
最近记录: |