4

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

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

4

1 回答 1

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
于 2013-01-14T20:49:29.000 回答