禁用ActionController :: TestCase实际呈现视图的正确方法是什么? 或者,在测试中没有布局的情况下渲染视图的方法是什么?
使用rr,我试过了 stub(@controller).render {“”}
但这破坏了assert_template断言。
谢谢!
答案 0 :(得分:1)
我遇到了同样禁用布局的问题,同时仍然渲染了主视图。使用rspec模拟,这对我有用:
@controller.stub(:layout).and_return(false)
我从未使用过rr,但我想会的语法可能如下:
stub(@controller).layout { false }
答案 1 :(得分:1)
我想在Rails 6中做到这一点。使用mocha gem:
Enter 6 numbers between 1 to 49
Number: 10
Number: 20
Number: 30
Number: 40
Number: 15
Number: 25
The lottery numbers:
--------------
15 38 10 27 13 30
--------------
Better luck next time! This was how many you got right: 3
对于其他版本的Rails,确定答案的最简单方法是在操作中添加ActionController::Metal.any_instance.stubs(:process).returns
并扫描回溯。找到看起来容易存根的东西,然后尝试。
答案 2 :(得分:0)
默认情况下禁用。
如果你想启用,你可以:
1)在spec_helper中调用它:
config.render_views
2)将此语句放在控制器测试类中:
render_views
如果要禁用它,只需添加一个false参数,如:
render_views false
参考:https://www.relishapp.com/rspec/rspec-rails/v/2-5/docs/controller-specs/render-views