2010-11-04 25 views
34

bitirmek ve o/göz ardı başarılı veya başarısız atlanır ziyade dikkate alınması gerektiğini Test koşucusu anlatmak için bir nunit test için bir yol var mı bir nunit testi atlamak? Bunun içinProgramlı

Benim motivasyon ben bazı durumlarda geçerli değildir bir kaç test olduğunu, ancak testi (ya da belki fikstürü) çalıştıran başlayana kadar bu tespit edilemeyen.

Açıkçası bu şartlarda ben sadece testinden dönmek ve başarılı izin ama (a) bu yanlış geliyor ve (b) I testler atlanır edildiğini bilmek istiyorum olabilir.

ben [Ignore] özelliğinin farkındayım, ancak bu derlenmiş-içindedir. Bir çalışma zamanı, program eşdeğeri arıyorum. Şunlar gibi:

if (testNotApplicable) 
    throw new NUnit.Framework.IgnoreTest("Not applicable"); 

Ya da programlı bir testi yanlış mı atlıyorsunuz? Eğer öyleyse, ne yapmalıyım?

Assert.Inconclusive(); 
+0

ilginç, ben bu konuda bazı yorumları görmek istiyorum! –

cevap

35
Assert.Ignore(); 

, özellikle sizin için soruyorsun ne RunFullTests, sabit bir sınıfta bulunan küresel bir Boole değişkeni. Bunu yanlış olarak ayarlarsak, tüm test sınıfı göz ardı edilir ve bu sınıfa ait tüm testler göz ardı edilir. Entegrasyon testleri varken

Bunu kullanabilirim.

+2

Teşekkürler! Assert.Ignore'u özlediğime inanamıyorum, ama ihtiyacım olan şey bu. Görünüşe göre Assert.Inconclusive, rahibe 2.5'de tanıtıldı ve hala 2.4.8 kullanıyor olduğum için, en azından bunun hakkında bilmediğim bir bahanem var. –

0

bir durumdur gibi olduğu bir TestInit(), TestInitialize yöntemi yaşıyorum:

//This flag is the most important.False means we want to just ignore that tests 
    if (!RunFullTests) 
     Assert.Inconclusive(); 

da var gerçi