2011-07-17 177 views
5

試圖將一些參數傳遞給rspec,但沒有找到任何適當的命令行選項。我可能使用環境變量,但不知道它是配置測試的最佳(也是最透明的)方式。有沒有辦法將命令行參數傳遞給spec/rspec?

那麼,我該如何傳遞命令行參數呢?如果不能 - 哪一個是最好的和最可接受的選擇?

+0

我認爲這是不可能的 - http://groups.google.com/group/rspec/browse_thread/thread/aa06395242dd7aae/c1ae10d2ad4dc33a?lnk=raot&pli=1 –

+0

看到了它 - 所以,最好的方法是什麼?環境變量?他們如何被跟蹤?我應該用一個shell腳本包裝'rspec'來接收一個參數並將其推送到環境變量?聽起來不對,呵呵。應該有一種方法(我認爲),或者必須有一個原因,即這樣的功能不是故意存在的。 – BreakPhreak

+1

而不是問「如何將命令行參數傳遞給RSpec?」,可能值得告訴我們爲什麼要這樣做,然後我們可以幫助您瞭解是否有更好的方法。需要將任意命令行選項傳遞給程序設計糟糕的程序。 –

回答

2

一個乾淨的方法是爲你的選項添加標籤,雖然這可能不適用於你的情況。

rspec --tag sleep_5_seconds 

,然後在spec_helper.rb

RSpec.configure do |c| 
    before(:each, :sleep_5_seconds => true) do 
    setup_5_second_sleep 
    end 
end 

此代碼尚未運行,但是這是概念。如果您需要根據變量進行設置和拆卸,也可以使用左右方塊。

相關問題