9
Tôi có tập lệnh ruby tôi đang thử để kiểm tra bằng rspec. Có cách nào để vượt qua biến dòng lệnh (tức là nhập dữ liệu bàn phím qua rspec để "được")đầu vào biến dòng lệnh rspec
Ví dụ:
username = gets.chomp
Tôi có tập lệnh ruby tôi đang thử để kiểm tra bằng rspec. Có cách nào để vượt qua biến dòng lệnh (tức là nhập dữ liệu bàn phím qua rspec để "được")đầu vào biến dòng lệnh rspec
Ví dụ:
username = gets.chomp
Bạn có thể còn sơ khai Kernel#gets
, ngoại trừ việc nó được trộn vào đối tượng, vì vậy stub it there:
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