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 № 1Moż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