是否可以将命令行选项传递给rspec中的脚本

时间:2010-11-09 20:17:22

标签: ruby rspec

我有一个RSpec脚本,用我正在开发的另一种语言测试程序。由于我可以运行并测试此应用程序的32位和64位版本,因此我希望能够在命令行上发出信号。

我真正想做的是做这样的事情:

rspec -c myspec.rb lin32

rspec -c myspec.rb lin64

并将lin32或lin64作为字符串传递,我可以在ruby文件中访问它。这可能吗? This site提及环境变量,但这很麻烦。它还提到了做ARGV操作 - 这是一种可行的方法吗?

2 个答案:

答案 0 :(得分:6)

来自David Chelimsky

您不能将任意参数传递给rspec命令,但您可以设置如下的环境变量:

SLEEP=10 rspec test.rb 

然后在脚本中,ENV["SLEEP"]的值为"10",因此您可以说:

sleep(ENV["SLEEP"].to_f) 

答案 1 :(得分:0)

尝试--参数。它用于告诉应用程序停止处理参数并将剩余的参数传递给子进程。我不知道rspec是否理解它,但值得一试。

`rspec -c myspec.rb -- lin32`
`rspec -c myspec.rb -- lin64`
相关问题