9
私はrspecでテストしようとしているルビースクリプトを持っています。あなたがそう、それは対象物に混入されていることを除いて、Kernel#gets
スタブできrspecコマンドライン変数の入力
username = gets.chomp
私はrspecでテストしようとしているルビースクリプトを持っています。あなたがそう、それは対象物に混入されていることを除いて、Kernel#gets
スタブできrspecコマンドライン変数の入力
username = gets.chomp
:コマンドラインに変数を渡すことが方法は、(すなわち、「取得」するためにRSpecのを経由して、キーボードのデータを入力してください)
例です。それをスタブしてください:
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