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