1

据我所知,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 类,但无法检查它是否收到消息。当然,我已经检查了十次用户是否确实收到了消息。

4

1 回答 1

5

简单的:

User.should_receive(:all).once

我想要检查的是某个类(不是对象)是否收到了某个消息

一个类一个对象!

于 2010-04-21T14:34:19.740 回答