2011-01-05 12 views
9

मेरे पास एक रूबी स्क्रिप्ट है जिसे मैं rspec के साथ परीक्षण करने की कोशिश कर रहा हूं। वहाँ कमांडलाइन को चर पारित करने के लिए एक रास्ता है (यानी rspec के माध्यम से कुंजीपटल डेटा दर्ज करने के लिए "हो जाता है")rspec कमांडलाइन चर इनपुट

उदाहरण:

username = gets.chomp 

उत्तर

14

आप Kernel#gets सिवाय इसके कि यह वस्तु में मिलाया जाता है ठूंठ कर सकते हैं, तो इसे वहां दबाएं:

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) { "phrase\n" } 
    @mirror.should_receive(:puts).with("phrase") 
    @mirror.echo 
    end 
end