gpt4 book ai didi

Ruby Rspec Mock 相同实例在第一次和第二次调用中表现不同

转载 作者:行者123 更新时间:2023-12-03 08:20:20 25 4
gpt4 key购买 nike

我有一个如下所示的代码:

def call(some_id:)

verify_before = @verify.call(some_id)
return verify_before if verify_before.sucess?
did_something = @processor.call(some_id)
return did_something unless did_something.sucess?
@verify.call(some_id)
end

我想模拟@verify,所以第一次它会返回success? = false,第二次调用时它将返回返回true

最好的方法是什么?

最佳答案

是的,您可以告诉 RSpec 模拟在每次调用时返回不同的值。以下示例将在第一次调用时返回 false,并在以后的所有调用中返回 true:

allow(@verify).to receive(:sucess?).and_return(false, true)

如何将其集成到您的测试中取决于您如何设置 @verify 以及您的测试的总体外观。

关于Ruby Rspec Mock 相同实例在第一次和第二次调用中表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68053301/

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