据我所知,should_receive
仅适用于模拟对象。我想要检查,如果某个类(非对象)收到某个消息,如:
User.should_receive(:all).once
我该怎么做?
UPD。通常,为模型和控制器编写测试,我们可以编写User.should_receive(:smth).once。但在我的情况下,我正在测试lib文件夹中的一个任意类,不知怎的,我总是收到以下消息:
<User( [fields] ) (class)> expected :all with (no args) once, but received it 0 times>
为什么会有这样的想法?测试以某种方式查看User类,但无法检查它是否收到消息。当然,我已经十次检查用户 实际收到消息。
答案 0 :(得分:5)
易:
User.should_receive(:all).once
我想要检查,如果某个类(非对象)收到某个消息
一个类是一个对象!