gpt4 book ai didi

ruby-on-rails - Rspec allow_any_instance_of 返回实例 ID

转载 作者:太空宇宙 更新时间:2023-11-03 17:31:39 25 4
gpt4 key购买 nike

有没有可能做这样的事情???

allow_any_instance_of(Object).to receive(:foo).and_return("hello #{instance.id}")

我可以根据实例返回消息吗?

最佳答案

是的,使用匹配器的“ block ”形式,它使您可以访问实例作为 block 的形式参数。您还需要确保 Object(或您传递给 allow... 的任何类)实现了 :foo(或您要传递的任何方法)正在指定) 作为实例方法,否则 allow... 将引发错误。同样,当然,您需要确保 id 也已实现。

下面是一些使用 Object 本身的示例代码:

class Object
def id
'bar'
end
def foo
end
end
describe '' do
it '' do
allow_any_instance_of(Object).to receive(:foo) { |o| "hello #{o.id}" }
puts Object.new.foo
end
end

关于ruby-on-rails - Rspec allow_any_instance_of 返回实例 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34109054/

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