rspec фиктивный возврат данных аргументов - PullRequest
3 голосов
/ 04 ноября 2011

Можно ли вернуть аргументы, заданные для метода stubbed / mocked с помощью rspec?

Я хочу написать что-то вроде этого:

object.should_receive(:foo).with(anything()).and_return(that_thing())

EDIT:

Я понял способ сделать это - возвращаемое значение блока возвращается вызовом метода:

object.should_receive(:foo) { |args| args }

См. «Произвольная обработка полученных сообщений» на http://rspec.info/documentation/mocks/message_expectations.html

Может быть, есть другой способ?

1 Ответ

0 голосов
/ 04 ноября 2011

Вы можете использовать замещающую реализацию для обработки и сохранения аргумента:

that_thing = nil
object.should_receive(:foo).with(anything()) do |arg|
  that_thing = arg
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...