Можно ли легко заглушить методы для всех экземпляров определенной Activerecord? - PullRequest
2 голосов
/ 02 апреля 2012

Скажем, я хочу сделать тест для метода, который извлекает записи.Для одной из записей я бы хотел, чтобы значение record.remote было возвращено для возврата определенного объекта, а для других - для возврата какого-либо другого объекта.Class.any_instance приближается к тому, что я хочу, но я хотел бы иметь возможность отфильтровать экземпляры по тем, которые приходят из определенной записи.

Что-то вроде этого было бы нормально, если бы это работало.

Answer.any_instance.stub(:remote).and_return do
   if self.id == @answer_2.id
     remote_answer
   else
     remote_complete_answer
   end
end

За исключением того, что "я" - это не Answer в этом случае, а RSpec::Core::ExampleGroup.Могу ли я добраться до исходного объекта в блоке and_return?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...