2012-06-03 110 views
2

是否可以在Rspec2標籤中包含條件邏輯,以便我可以使用小於或等於給定值的標籤運行所有示例?是否有可能在Rspec標籤中包含條件邏輯

喜歡的東西:

rspec Dummy_spec.rb --tag version:= <=2 

顯然,這不工作,但有一些神奇的紅寶石,將使這項工作?

這樣做的原因是我想使用標籤對我的Rspec示例進行版本化。更具體地說,我希望能夠使用等於或小於我在運行示例時指定的標記值的標記來過濾所有示例。例如,如果我正在使用我的代碼的第2版,但也從第3版開始跳轉,那麼我希望能夠運行所有適用於版本1和版本2的示例我的代碼..但不是版本3.(見下面的代碼示例)

在預期的一些答覆,我的rspec示例是在一個單獨的項目比我的生產代碼,所以它不是一個簡單的問題與代碼版本化示例。但是如果有更好的方法來處理這個問題,我可以選擇。什麼我想要做

完整的示例:

describe "using version as tags" do 

    context "When I run 'rspec Dummy_spec.rb --tag version:2'" 

    it "should run this test applicable to ver 1", :version =>1 do 
    true.should eq(true) 
    end 

    it "should run this test applicable to ver 2", :version =>2 do 
    true.should eq(true) 
    end 

    it "should not run this test applicable to ver 3", :version =>3 do 
    true.should eq(true) 
    end 

end 

回答

0

Relish page for the --tag option解釋說,你可以通過~key:value排除標籤,所以你應該能夠運行rspec Dummy_spec.rb --tag ~version:3運行一切,但第3周的測試。

相關問題