使用Ruby测试命令行应用程序界面的最佳方法是什么?

时间:2011-10-11 15:29:37

标签: ruby testing

假设我有简单的命令行应用程序,看起来像这样

# solution.rb

puts "Enter your password:"
password = gets

if password == "secret"
  puts "you're logged in"
else
  puts "wrong password"
end

我需要创建一个脚本,测试它是否正常工作。我不想测试代码本身,只测试它的用户界面。

这将是一种家庭作业检查器,用户可以提交一个脚本,该脚本应该以某种方式处理某个任务,并且该脚本将使用给定的输入对其进行测试。

我的想法是,我会运行类似

的东西
ruby tester.rb solution.rb

并且tester.rb首先运行它并传递secret并检查它是否有you're logged in作为响应,对第二种情况也是如此。

实现这一目标的最佳方式是什么?

1 个答案:

答案 0 :(得分:4)

我强烈建议您使用cucumber查看aruba,这是专门针对此类事情而设计的。

有一个quick intro可能是一个很好的起点。