【发布时间】:2022-01-16 15:34:05
【问题描述】:
对于规范中的以下代码:
let(:my_model) { instance_double(MyModel, is_happy: true) }
我想确认is_happy: true 到底做了什么。
我认为它存根 MyModel double 的 is_happy 实例方法并使其始终在规范中返回 true,但我希望看到官方 RSpec 文档确认这一点。
我可以看到这个RSpec doc,但它没有提到方法存根部分。
此文档在文档中的哪个位置进行了记录,我应该如何在 RSpec 中浏览文档?
【问题讨论】:
-
您链接的文档确实告诉您像您描述的那样被存根的方法:instance_double 是最常见的验证双精度类型。它将类名或对象作为其第一个参数,然后验证任何被存根的方法 是否存在于该类的实例上。此外,当它接收到消息时,它会验证方法签名是否支持提供的参数,包括数量和允许或必需的关键字参数(如果有)。
-
@spickermann 谢谢,但我更喜欢寻找确切的方法定义,就像下面答案中描述的 max 一样