следует получить в RSpec - PullRequest
       13

следует получить в RSpec

1 голос
/ 21 апреля 2010

Насколько я знаю, 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 Ответ

5 голосов
/ 21 апреля 2010

Легко:

User.should_receive(:all).once

Я хочу проверить, получил ли определенный класс (не объект) определенное сообщение

Класс является объектом!

...