ruby-on-rails – 如何删除“DEPRECATION:stub!已弃用.改为使用存根.“消息?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何删除“DEPRECATION:stub!已弃用.改为使用存根.“消息?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题有点奇怪,但我想要的是存根的替代品!在Rspec中,不会产生弃用警告.

场景:

我用stub!在我的帮助器规范中存根某些辅助方法.

例如

stub!(:t_with_partner_lookup).and_return("test")

Rspec建议使用没有感叹号的存根.

所以我写(如建议):

stub(:t_with_partner_lookup).and_return("test")

但是这会产生错误

Stub :t_with_partner_lookup received unexpected message :and_return with ("test")

在我发现的另一个问题中,我不得不使用帮助器.字首.我做了,但它没有删除弃用警告,而是产生了错误.

helper.stub(:t_with_partner_lookup).and_return("test")

生产:

undefined method `t_with_partner_lookup' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_3:0x00000103256d50>

我也尝试了这种语法,但产生了与上面提到的相同的错误

helper.stub(:t_with_partner_lookup){"test"}

用于存根辅助方法的正确语法是什么?

我使用的宝石:

> rails 3.2.17
>最新版本的rspec-rails

Ruby版本2.1.0

解决方法

通过使用allow语法解决了它:
allow(self).to receive(:t_with_partner_lookup).and_return("test")

猜你在找的Ruby相关文章