gpt4 book ai didi

Rspec 双重期望/允许任何事情

转载 作者:行者123 更新时间:2023-12-01 11:14:50 25 4
gpt4 key购买 nike

我有一个测试替身,我希望能够接收任何消息。

我知道我可以期望 double 收到一条消息并返回一个像这样的值:

foo = double()
allow(foo).to receive(:bar) { "Foobar" }

我也可以允许 foo使用 #as_null_object 接收任何消息喜欢:
foo = double()
foo.as_null_object

有没有其他语法?似乎我应该能够做这样的事情:
allow(foo).to receive(:anything)

最佳答案

allowexpect方法可用于 stub 方法/设置对特定方法的期望。使用 null object pattern 增强对象是完全不同的,因此使用不同的方法调用。

请注意,通常不应在特定测试所测试的区域中使用 null 对象——它旨在模仿系统的某些部分,该部分是被测试代码的副作用,不容易被 stub 。

关于Rspec 双重期望/允许任何事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23506021/

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