2016-08-16 68 views
0

運行rspec的這是紅寶石樣品RSpec的如何與多個標籤

require "rspec" 
describe "Testing" do 
    it "test1",:status => "low" do 
     puts "test1" 
     expect(true).to eq true 
    end 
    it "test2",:status => "high" do 
     puts "test2" 
     expect(true).to eq true 
    end 
    it "test3",:status => "low" do 
     puts "test3" 
     expect(true).to eq true 
    end 
    it "test4",:status => "medium" do 
     puts "test4" 
     expect(true).to eq true 
    end 
end 

這是運行在高狀態測試

rspec file_name --tag @status:"high" 

現在我想在高位運行,中的地位命令案例。任何想法?

回答

2

通過標記過濾在內部使用散列,這意味着您不能 爲同一個鍵指定多個過濾器。例如,如果你試圖 排除:name => 'foo':name => 'bar',你只會落得 排除:name => 'bar'

Read here

你要重命名的標籤上運行多個實例這樣

require "rspec" 
describe "Testing" do 
    it "test1",low: true do 
    puts "test1" 
    expect(true).to eq true 
    end 
    it "test2", high: true do 
    puts "test2" 
    expect(true).to eq true 
    end 
    it "test3", low: true do 
    puts "test3" 
    expect(true).to eq true 
    end 
    it "test4", medium: true do 
    puts "test4" 
    expect(true).to eq true 
    end 
end 

和運行測試是這樣的:

rspec <file_name> --tag high --tag medium 

或者在你的情況,你可能只是exlude一個標籤:

rspec <file_name> --tag ~status:low