Как проверить rspec запросы ActiveRecord с несколькими ассоциациями - PullRequest
1 голос
/ 08 сентября 2011

У меня есть несколько методов, которые запрашивают базу данных, если передается правильный параметр, и я пытаюсь найти лучший способ проверить их.

На данный момент я использую stub_chain's, но чувствую, что это очень тесно связано с реализацией, и если я изменю свой поиск, это сломает тест.Это запрос:

def query 
   self.users.active.find_by_name("john") 
end

, и я проверяю его следующим образом:

client.stub_chain(:users, :active, find_by_name).and_return([mock_model("User")])
client.query.should_not be_blank

Это работает, так же как просто вызывает запрос без заглушки и проверяет, является ли возвратмассив или пустой массив, но ни один из них не кажется оптимальным.Как сейчас, я в основном просто проверяю, правильно ли я делаю этот звонок или нет.

1 Ответ

1 голос
/ 08 сентября 2011

Если вы хотите немного развязать, вам лучше поставить в тупик сам метод query:

client.stub(:query).and_return [mock_model("User")]

В противном случае все нормально.


Бонус, если хотитеЧтобы проверить точные вызовы методов, посмотрите здесь .

...