gpt4 book ai didi

rspec - 期望至少收到一次带有特定参数的参数

转载 作者:行者123 更新时间:2023-12-02 00:51:16 25 4
gpt4 key购买 nike

我有一个 Logger 类。我想测试函数内部,记录器将收到带有 foo 参数的 log 调用。

expect(Logger).to receive(:log).with("foo")
Bar.foo()

但是在此期间,某些模型回调也会调用 Logger.log("euu")Logger.log("arr")Logger.log (“嗯”) 等等。 Rspec 似乎失败了,因为首先使用一些其他参数调用了 log

我只关心 log("foo") 被调用一次。有没有办法进行这种测试?

最佳答案

该方法是允许调用 log,执行您的操作,然后检查是否已使用预期参数调用 log,如下所示:

allow(Logger).to receive(:log)
Bar.foo
expect(Logger).to have_received(:log).with("foo")

RSpec 将此模式称为 Spies

关于rspec - 期望至少收到一次带有特定参数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31067749/

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