繁体   English   中英

rspec存根传递相同的参数

[英]rspec stubbing passing the same arguments

样例代码:

class Foo
  def initialize(abc)
    @abc = abc
    @bind = bar
  end
  def bar
    SomeClass.new(@abc)
  end
end

现在我想使用rspec和自定义存根对bar进行存根:

allow('Foo').to receive(:bar).and_return(FakeBar.new)

问题是FakeBar.new必须使用相同的参数:bar FakeBar.new进行初始化。 存根时是否可以获取传递给:bar的参数副本,并在存根类中重用它们?

不知道为什么要做自己想做的事情(可能有一种更简单的方法),但是值得:

allow("Foo").to receive(:bar) { |arg1, arg2| FakeBar.new(arg1, arg2) }

RSpec文档,阻止存根实现

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM