在RSpec中创建测试Double时,我可以选择传入一个似乎为Double命名的字符串。我发现很难找到有关该论点的文档,the top result on google似乎没有提到它。
我进行了一次测试,据我所知,它只是用于演示/打印目的。除此之外还有什么用吗?
答案 0 :(得分:2)
它为错误消息中使用的double设置标题。
#<Double "A Double"> received unexpected message :foo with (no args)
如果您有多个双打,它将帮助您确定哪个收到了意外消息。
除了标题之外,您还可以以预定义的方式对方法进行双重响应,而无需使用allow(double_x).to receive(:foo).and_return('bar')
之类的方法进行设置:
let(:double_x) { double("Double X", foo: 'bar') }
# double_x.foo
# => "bar"
标题是可选的,可以省略。