2011-11-29 27 views
7

Dokümanları inceledim, ancak birden çok filtrenin nasıl çalıştığına dair bazı açıklamalar eksik görünüyor. Birden fazla filtrenin davranışı için iyi bir açıklama veya iyi bir açıklama kaynağı olan var mı? Sipariş listelendikleri konu mu? Satır birden yazdıysam İşte RSpec filtrelerini birleştiriyor musunuz?

Rspec.configure do |c| 
    this_version = get_version_number.to_sym 
    c.filter_run :focus=> true 
    c.filter_run_excluding :limit_to=>true, this_version => false 
    c.filter_run :new_stuff=>true 
    c.run_all_when_everything_filtered 
end 

it "is focused, but not new", :focus 
it "is is new", :new_stuff 
it "is new and focused", :new_stuff, :focus 
it "is focused and new, but limited to a different version", :focus, :limit_to, :correct_version 

bu deneme bir beklemek şeyden başka davranış olabilir koduna örnek ... var, o da "filter_run_excluding" satırı basit eylemi birden argümanlar gibi görünüyor olduğunu zamanlar. Filtre kontrollerini gerçekte birleştirmek için bir yol var mıdır, böylece her iki etiketin de listelendiği örnekler hariç tutulur (veya çalışır). Bu komut satırından

+0

böyle bir şey yapmak çoğu zaman kullanışlı ben/sadece/odaklanmış öğeleri çalıştırmak istiyorum, "filter_run_excluding: focus => false" kullanmak daha iyi olurdu? "Filter_run: focus => true" ifadesine bakılmaksızın ek filter_runs öğeleri ekleyeceğimi varsayıyorum, doğru mu? – GlyphGryph

+0

Ben de aynı sorum var. Herhangi bir çözüm bulabildin mi? – Mike

+0

Bu yanıt gibi görülebilir: http://stackoverflow.com/questions/5628880/can-i-use-multiple-exclusion-filters-in-rspec –

cevap

3

Run birden filtreler:

rspec spec --tag my_tag --tag my_second_tag -- tag ~my_third_tag 

~ yüzden, bu etiketlerin ile herhangi spec hariç tutar onun

rspec spec --tag ~long_runing 
+0

Doğru olsa da, soruya cevap vermez. – Mike