应该在RSpec中

时间:2010-04-21 09:30:22

标签: ruby-on-rails class rspec message expectations

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

1 个答案:

答案 0 :(得分:5)

易:

User.should_receive(:all).once
  

我想要检查,如果某个类(非对象)收到某个消息

一个类是一个对象!