RSpec和测试命令行参数传递到脚本

4

我正在为一款基于Ruby的命令行应用编写RSpec测试。我想构建我的测试套件以允许测试缺少命令行参数的情况。具体来说,我希望可以模拟出ARGV [0]..ARGV [N]在应用程序中的表现。我看到过类似的帖子提到了ENV.stub; 但是,我不知道如何模拟“无名称”的参数和给定的顺序。

如果有帮助,将不胜感激。谢谢。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接