2010-11-09 42 views
1

我有一个RSpec脚本,用于测试我正在开发的另一种语言的程序。由于我可以运行和测试此应用程序的32位和64位版本,因此我希望能够在命令行上发出这种信号。是否可以通过命令行选项传递给脚本rspec

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

rspec -c myspec.rb lin32

rspec -c myspec.rb lin64

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

回答

6

从大卫赫利姆斯基

你不能传递任意参数给rspec的命令,但你可以这样设置环境变量:在脚本中

SLEEP=10 rspec test.rb 

然后,值的ENV["SLEEP"]"10",这样你就可以说:

sleep(ENV["SLEEP"].to_f) 
+0

这只适用于linux/unix。但是,Windows不允许像这样传递参数 – 2016-06-09 09:09:47

0

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

`rspec -c myspec.rb -- lin32` 
`rspec -c myspec.rb -- lin64` 
+0

这似乎并不WO RK。 – cyang 2012-11-14 16:41:12

相关问题