View.stub(Rails)的Rspec 3升级问题

时间:2014-06-11 20:18:43

标签: ruby-on-rails rspec rspec-rails

我将我的测试升级到Rspec3(太麻烦了),删除了所有的“应该”,但我无法解决如何升级' view.stub& #39;在我看来测试。

我正在使用设计

示例:

view.stub(:current_user) { nil }

render

expect(rendered).to .... etc

这给了我一个弃用警告:

  

使用来自rspec-mocks的stub'不使用显式启用语法的旧:should语法已弃用。使用新的:expect语法或明确启用:should。来自....

我无法弄清楚如何升级到新的'改进的'句法。 感谢

2 个答案:

答案 0 :(得分:35)

allow(view).to receive_messages(current_user: nil)

Notable Changes in RSpec 3

答案 1 :(得分:4)

您也可以使用:

allow(view).to receive(:current_user).and_return(nil)

我个人觉得它更具可读性。有关其他信息,请参阅docs