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