2010-11-09 54 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

相關問題