我有一个RSpec脚本,用我正在开发的另一种语言测试程序。由于我可以运行并测试此应用程序的32位和64位版本,因此我希望能够在命令行上发出信号。
我真正想做的是做这样的事情:
rspec -c myspec.rb lin32
或
rspec -c myspec.rb lin64
并将lin32或lin64作为字符串传递,我可以在ruby文件中访问它。这可能吗? This site提及环境变量,但这很麻烦。它还提到了做ARGV操作 - 这是一种可行的方法吗?
答案 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`