RSpec和测试命令行Args传递给脚本

时间:2012-09-02 23:22:42

标签: ruby rspec

我是基于命令行ruby的应用程序的一些rspec测试。我正在尝试构建我的测试套件,允许测试缺少的命令行参数。具体来说,我想说明ARGV [0] .. ARGV [N]会出现在应用程序中。我看过类似的帖子提到ENV.stub;但是,我不知道如何模拟“无名”的args和给定的命令。

任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:1)

我只是在位于spec的测试用例中执行此操作:

it "does something" do
  arg = "/tmp"
  exe = File.expand_path('../bin/site_checker', File.dirname(__FILE__))
  stdin, stdout, stderr = Open3.popen3("#{exe} -Ilib #{arg}")
  stdout.readlines.should be_empty
end