rspec: как заглушить метод экземпляра, вызываемый конструктором - PullRequest
31 голосов
/ 25 ноября 2008
class A
  def initialize
    @x = do_something
  end

  def do_something
    42
  end
end

Как я могу заглушить do_something в rspec, перед тем, как будет вызвана исходная реализация (таким образом, присваивая 42 @x)? И без изменения реализации, конечно.

Ответы [ 11 ]

0 голосов
/ 22 августа 2009

В моей версии rspec (1.2.2) я могу сделать это:

A.should_receive(:new).and_return(42)

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

...