应该在RSpec中

gmi*_*ile 1 message rspec ruby-on-rails class expectations

据我所知,should_receive仅适用于模拟对象.我想要检查,如果某个类(非对象)收到某个消息,如:

User.should_receive(:all).once
Run Code Online (Sandbox Code Playgroud)

我怎么做?

UPD.通常,为模型和控制器编写测试,我们可以编写User.should_receive(:smth).once.但在我的情况下,我正在测试lib文件夹中的任意类,不知怎的,我总是收到以下消息:

<User( [fields] ) (class)> expected :all with (no args) once, but received it 0 times>
Run Code Online (Sandbox Code Playgroud)

关于为什么会这样的任何想法?测试以某种方式查看User类,但无法检查它是否收到消息.当然,我已经十次检查发现该用户实际获得的消息.

Jör*_*tag 5

简单:

User.should_receive(:all).once
Run Code Online (Sandbox Code Playgroud)

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

一堂课一个对象!