【问题标题】:Rspec 3 upgrade issues with view.stub (Rails)view.stub (Rails) 的 Rspec 3 升级问题
【发布时间】:2014-06-11 20:18:43
【问题描述】:

我正在将我的测试升级到 Rspec3(太麻烦了),删除了我所有的“应该”,但我不知道如何在我的视图测试中升级“view.stub”。

我正在使用设计

示例:

view.stub(:current_user) { nil }

render

expect(rendered).to .... etc

这给了我一个弃用警告:

不推荐使用来自 rspec-mocks 的旧 :should 语法的 stub 而不显式启用该语法。改用新的:expect 语法或显式启用:should。从...调用。

我不知道如何升级到新的“改进”语法。 谢谢

【问题讨论】:

  • 顺便说一句,a tool 可以自动转换为 RSpec 3 语法。

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


【解决方案1】:
allow(view).to receive_messages(current_user: nil)

Notable Changes in RSpec 3

【讨论】:

  • 确实,弃用消息完全令人困惑。转到 RSpec 3 中的显着变化中的 RSpec Mocks 部分。
  • 嗨,这个旧代码的等价物是什么。 ENV.stub(:[]) ENV.stub(:[]).with(name).and_return(value)
  • allow(ENV).to receive(:[]).with(name).and_return(value)
【解决方案2】:

你也可以使用:

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

我个人觉得它更具可读性。请参阅docs 了解更多信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2011-08-23
    • 1970-01-01
    • 2011-12-31
    • 2015-03-14
    • 1970-01-01
    相关资源
    最近更新 更多