【发布时间】:2014-04-17 20:33:20
【问题描述】:
这个问题的表述有点奇怪,但我想要的是 Rspec 中 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"}
存根辅助方法的正确语法是什么?
我使用的宝石:
- 导轨 3.2.17
- 最新版本的 rspec-rails
Ruby 2.1.0 版
【问题讨论】:
-
我不确定这是否回答了您的问题,但请参阅myronmars.to/n/dev-blog/2013/07/…
-
这只会将弃用消息重定向到单独的日志文件。可能是一个解决方案,但它忽略了“真正的”问题。
标签: ruby-on-rails ruby rspec