gpt4 book ai didi

ruby-on-rails - 如何删除 "DEPRECATION: stub! is deprecated. Use stub instead."消息?

转载 作者:数据小太阳 更新时间:2023-10-29 07:03:51 24 4
gpt4 key购买 nike

问题的表述有点奇怪,但我想要的是 Rspec 中 stub! 的替代方案,它不会产生弃用警告。

场景:

我使用 stub! 在我的帮助程序规范中对某些帮助程序方法进行 stub 。

例如

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

Rspec 建议使用不带感叹号的 stub

所以我写(按照建议):

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

但是这会产生错误:

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

在我发现的另一个问题中,我必须使用 helper. 前缀。我做了,但它没有删除弃用警告,而是产生了一个错误。

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"}

stub 辅助方法的正确语法是什么?

我使用的 Gems:

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

ruby 版本 2.1.0

最佳答案

通过使用允许语法解决了它:

allow(self).to receive(:t_with_partner_lookup).and_return("test")

关于ruby-on-rails - 如何删除 "DEPRECATION: stub! is deprecated. Use stub instead."消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22373018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com