В моем классе есть такой метод #run, который до сих пор только для тестирования:
def run
puts "Enter 'class' to create a new class."
input = $stdin.gets.chomp
binding.pry
И в тестах пока у меня есть
allow($stdin).to receive(:gets).and_return 'class'
cli.run
Делая это таким образом, я могу видеть в сеансе pry, что input
было установлено на 'class'
, как и предполагалось.
Есть ли способ сделать это без добавления $stdin
к моемувызывать gets
в самом моем методе?то есть input = gets.chomp
Я пробовал allow(cli.run).to receive(:gets).and_return 'class'
Но тогда в сеансе pry input
равен первой строке файла спецификации!