测试$? ruby rspec中的全局变量

时间:2012-10-19 14:31:24

标签: ruby tdd rspec2

我有一段代码,如:

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

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

1 个答案:

答案 0 :(得分:1)

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

#!/usr/bin/env ruby

exit(ARGV[0].to_i)

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

不是模拟调用,而是完全运行不同的脚本以验证它是否正确处理错误。

相关问题