1

我有一段代码,如:

output = `shell-command-to-run`
unless $?.success?
  raise "Failure running shell command!"
end

我已经模拟了反引号方法以防止外部 shell 命令在我的规范期间运行,但我还没有找到一种方法来设置$?全局变量来行使规范的失败方面。

4

1 回答 1

1

也许您应该有一个脚本来返回您期望发现的各种错误,以便您可以测试各种条件。例如:

#!/usr/bin/env ruby

exit(ARGV[0].to_i)

然后,您可以传入要捕获的退出代码。

无需模拟调用,您只需完全运行一个不同的脚本来验证它是否正确处理错误。

于 2012-10-19T14:34:16.253 回答