4
rspec을 사용하여 두 개의 사용자 입력을받는 메소드를 어떻게 스터브로 작성합니까? 가능한가? @ mirror.echo의 반환은 제 스터브 덮어되거나 무시 의미 [ "바", "바"] 이들 사양과rspec - 어떻게 여러 사용자 입력으로 메소드를 스터핑 할 수 있습니까?
class Mirror
def echo
arr = []
print "enter something: "
arr[0] = gets.chomp
print "enter something: "
arr[1] = gets.chomp
return arr
end
end
describe Mirror do
it "should echo" do
@mirror = Mirror.new
@mirror.stub!(:gets){ "foo\n" }
@mirror.stub!(:gets){ "bar\n" }
arr = @mirror.echo
#@mirror.should_receive(:puts).with("phrase")
arr.should eql ["foo", "bar"]
end
end
.
또한 @ mirror.stub! (: gets) { "foo \ nbar \ n"}를 사용하고 @ mirror.echo는 [ "foo \ nbar \ n", "foo \ nbar \ n"]를 반환합니다.