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

标签 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'relogin作为响应,第二种情况也是如此。

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

最佳答案

我强烈建议您查看cucumberaruba ,这是专门为这类事情设计的。

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

关于ruby - 使用 Ruby 测试命令行应用程序界面的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7728566/

相关文章:

ruby-on-rails - 什么东西是抓不到的?

ruby - SOA 和 API - API 是端点服务还是它们需要不同的服务?

.net - 为 wp7 应用程序运行测试

performance - 哪个是自动 GUI 性能测试的最佳工具?

java - 使用文件的 Java 应用程序的功能/回归测试

ruby-on-rails - 无法在 Rails 5.1 中保存嵌套表单

ruby-on-rails - 如何在 Windows 8 上运行两个 GitBash 实例?

ruby - 将 Ruby/EventMachine 脚本作为系统服务运行

java - PowerMockito 模拟静态方法抛出异常

unit-testing - 如何测试 N 秒后是否未调用方法?