4
我如何存根一個方法,使用rspec需要兩個用戶輸入?可能嗎?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.echo返回的是[「酒吧」,「杆」]這意味着第一短截線被覆蓋或以其他方式忽略。我也嘗試使用@ mirror.stub!(:gets){「foo \ nbar \ n」}和@ mirror.echo返回[「foo \ nbar \ n」,「foo \ nbar \ n」]]