rspec命令行变量输入

我有一个ruby脚本我试图用rspec测试。 有没有办法将变量传递给命令行(即通过rspec输入键盘数据到“获取”)

例:

username = gets.chomp 

你可以存根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