Rspec 2 'should_receive' не работает с классом Mongoid :: Document - PullRequest
2 голосов
/ 31 марта 2011

Я сталкиваюсь с некоторыми проблемами при попытке утверждать, что метод в классе Mongoid :: Document вызывается кодом моего контроллера:

require 'spec_helper' 

describe AController do

  describe 'GET index' do
    it 'returns the full list' do
      get :index
      Model.should_receive(:find).with(:all)
      response.code.should eq ("200")      
    end
  end

end

Глядя на test.log, я вижу запросвыполняется против базы данных.НО, тест завершается неудачно, rspec жалуется, что Model.find (: all) ожидался один раз, но получил 0 раз.Кто-нибудь получил представление о том, что здесь происходит?Мне кажется, что Rspec не может заглушить классы, которые включают Mongoid :: Document.

Спасибо!

1 Ответ

4 голосов
/ 31 марта 2011

Извините, я облажался, ожидание должно было быть установлено до получения

Правильный путь:

  Model.should_receive(:find).with(:all)
  get :index      
  response.code.should eq ("200")
...