【发布时间】:2018-11-28 19:56:32
【问题描述】:
我的班级有这个 #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 session 中,input 等于 spec 文件的第一行!
【问题讨论】: