加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 23:18:44 所属栏目:百科 来源:网络整理
导读:问题有点奇怪,但我想要的是存根的替代品!在Rspec中,不会产生弃用警告. 场景: 我用stub!在我的帮助器规范中存根某些辅助方法. 例如 stub!(:t_with_partner_lookup).and_return("test") Rspec建议使用没有感叹号的存根. 所以我写(如建议): stub(:t_with_pa
问题有点奇怪,但我想要的是存根的替代品!在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")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读