2011-11-08 2 views
3

여러 값을 반환하는 메서드를 스텁하려는 중입니다. 예를 들어 :rspec and_return multiple values ​​

class Foo 
    def foo(a,b) 
    return a + 1, b + 2 
    end 
end 

나는 그것을 스텁 싶어하지만 난이 값 and_return에 문제가있어

f = Foo.new 
f.stub!(:foo).and_return(3,56) 

이 작동하지 않습니다 반환합니다. 그것은 기본적으로 3 번을 호출하고 56 번을 두 번째로 반환합니다. 누구든지 문법이 처음으로 호출 될 때 3,56을 반환하도록하는 것을 알고 있습니까? rspec으로도 가능합니까? 사전에

덕분에 ... JD

답변

13

다중 값 반환 배열 인 :

f.stub!(:foo).and_return([3, 56]) 
:

> def f; return 1, 2; end 
> f.class 
=> Array 

그래서 배열을 반환