我是一个基于命令行ruby的应用程序的rspec测试。我正在尝试构建我的测试套件,以便测试丢失的命令行参数。具体来说,我想去掉ARGV[0]。。ARGV[N]将出现在应用程序中。我看到过类似的帖子提到ENV.stub;然而,我不知道如何模拟"无名"参数和给定的顺序。
如有任何帮助,我们将不胜感激。谢谢
我只是在位于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