2012-06-13 12 views
6

Test yürütürken seçilen test kategorilerini programlı olarak almanın bir yolu var mı? TestContext.Properties satırlarında bir şey ["_ SELECTCATEGORIES"]Başlarken Programlama kategorilerinde null seçili kategoriler var

temelde test verilerini bir db'den yükleyen test senaryolarım var ve çok uzun süren testlerim var. yüklemek için. kategori

+0

Test kategorileri ile ne kastediyorsunuz? –

+0

Uygulama için dahil edilen kategorilerdeki rahibe gui veya konsolunda seçilen kategorileri kastediyorum – z0c

cevap

2

GÜNCELLEME seçili değilse Im içinde NUnit testi mecliste tanımlanması veya yükleme seçilen kategoriler için herhangi basit bir yöntem var gibi görünmüyor şey dönen testCaseSources sahip bir yol bulmaya NUnit Çerçeve kendisi .. yansıma kullanma

, belki TestAttribute veya TestFixtureAttribute süslenmiş sınıflarda özelliği Categories tarama başladı. Bu kategorileri yüklemek istediğiniz tek (ler) ile eşleştirerek, yüklemeden önce hangi testlerin yükleneceğini filtreleyebilirsiniz.

Sonra TestContext.Test.Properties anahtar _CATEGORIES (daha sonra NUnit 2.5.7 ve mevcut) vardır:

[Test] 
[Category("Hello")] 
public void TestCategory() 
{ 
    Assert.IsTrue(((ArrayList)TestContext.CurrentContext.Test.Properties["_CATEGORIES"]).Contains("Hello")); 
} 

TestContext sınıfına okumak için Biraz daha bulunabilir here. Tabii ki, bu yaklaşımı ile problemi çözmek için, tüm test tertibatını önceden yüklemeniz ve tüm test senaryoları üzerinde döngü yapılmasını gerektirecektir, ki bu da sizin senaryoda kesinlikle istenmeyen bir durumdur.

+0

Tam olarak değil. ["_CATEGORIES"], testin dekorasyonunu yapan kategorileri döndürür. İhtiyacım olan şey, – z0c

+0

@ z0c'yi çalıştırmak için rahibe gui veya konsolunda seçilen kategorilerdir. Belki de çok cesaret verici bir güncelleme değil, en azından cevabımı daha iyi uyarlamaya çalıştım sorunuza cevap verin. Bu cevapta "burada" linkinde –

+0

, "Hesap Askıya Alındı" mesajını alıyorum. Lütfen yeni bir bağlantı sağlayın. – funkymushroom