2010-04-21 33 views
1

據我所知,should_receive只適用於模擬對象。我想要檢查,如果某個類(不是對象)收到某個消息,如:should_receive in RSpec

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類,但無法檢查它是否收到消息。當然,我有十次檢查用戶實際上收到一條消息。

回答

5

簡單:

User.should_receive(:all).once 

我要的是檢查,如果某一類(不是對象)收到了一定的消息

的對象!

+0

謝謝你的回答,Jörg。我已經用更多的細節更新了這個問題。 – gmile 2010-04-22 09:22:15

相關問題