2013-01-12 2 views
2

String 인스턴스 메서드 인 "shuffle"을 호출하는 String 클래스의 인스턴스 메서드가 있습니다. RSpec을 사용하여 메소드를 테스트하려면, 그것을 스텁하고 싶습니다. RSpec을 사용하여 스텁 인스턴스 인스턴스 메서드

감사합니다 ... 비웃음 어쩌면

Array.stub(:shuffle).and_return(%w(a e i o u y)) 
[].stub(:shuffle).and_return(%w(a e i o u y)) 

그러나 없음 작업 :(내가 여기서 뭔가를 놓친 거지하지만 난 후 무엇을 조롱한다

답변

4
:

vowels = %w(a e i o u y) 
vowels.shuffle 

나는 시도했다?.

any_instance을 사용하십시오. 예 :

describe "any_instance.stub" do 
    it "returns the specified value on any instance of the class" do 
    Array.any_instance.stub(:shuffle).and_return(%w(a e i o u y)) 

    o = Array.new 
    o.shuffle.should eq(%w(a e i o u y)) 
    end 
end 

Source

+0

그것은 작동합니다! 내가 그것을 보았을 때 의미를 가라.) –

관련 문제