/ / zmienna wejściowa polecenia rspec - ruby, rspec

rspec - zmienna wejściowa polecenia - ruby, rspec

Mam skrypt ruby, który próbuję przetestować z rspec.Czy istnieje sposób przekazywania zmiennych do wiersza poleceń (np. Wprowadź dane klawiatury przez rspec do "dostaje")

Przykład:

username = gets.chomp

Odpowiedzi:

14 dla odpowiedzi № 1

Możesz stub Kernel#gets, z tym wyjątkiem, że jest on mieszany z obiektem, więc go tam umieszczaj:

class Mirror
def echo
print "enter something: "
response = gets.chomp
puts "#{response}"
end
end

require "rspec"

describe Mirror do
it "should echo" do
@mirror = Mirror.new
@mirror.stub!(:gets) { "phrasen" }
@mirror.should_receive(:puts).with("phrase")
@mirror.echo
end
end