2011-05-23 10 views
20

Bir test vakasını atladığımı bildiğim kadarıyla yapılacak en basit şey, @Test no'lu notu kaldırmaktır, ancak bunu yapmak için çok sayıda test çalışması yapmak zahmetlidir. Şartlı olarak birkaç test vakasını kapatmak için JUnit'te herhangi bir ek açıklama bulunup bulunmadığını merak ediyordum.JUnit'te atlanacak birkaç test vakasını işaretlemek için herhangi bir koşullu ek açıklama var mı?

+3

Uygun yol, @Ignore ek açıklamasını kullanmaktır, ancak koşullu değildir. –

cevap

26

Aradığınız ya da koşullu olarak bazı JUnit testlerini gerçekten kapatmak istiyorsanız, bunun @Ignore ek açıklama olup olmadığını bilmek zor. Testislerin kapatılması koşullu olarak Assume kullanılarak yapılır.

bir güne denk iyi iplik akışı üzerinde yığın burada da var JUnit 4.5

için release notes varsayımlara okuyabilirsiniz: Başkalarının burada koymak Conditionally ignoring tests in JUnit 4

5

@Ignore ek açıklamasını, devre dışı bırakmak için tek bir sınama veya test sınıfına ekleyebileceğiniz şekilde kullanabilirsiniz.

Koşullu şey gerekiyorsa, ifadenin dil veya referanslar bir sistem özelliği için kullanan özel ek açıklama tanımlamak için

@RunWith(YourCustomTestRunner.class) 

Bunu kullanabilirsiniz kullanarak kaydedebilir özel bir test koşucu oluşturmak zorunda kalacak Bir testin çalıştırılıp çalıştırılmayacağını kontrol edin. Ama böyle bir canavar kutudan çıkmaz.

+0

Sorusunu düzenleyip düzenlemediğini bilmiyor, ancak 'Ignore' şartlı değil. –

+0

@A OP'yi doğru kullanırsam, koşullu ifadesi "ek açıklama ekleyip eklemediği" şeklindedir ":-) –

+0

Doğru. Bir cevap kabul ettiğinde anlarız. –

2

JUnit 4.x kullanırsanız, yalnızca @Ignore kullanın. Bkz. here

+0

Sorusunu düzenleyip düzenlemediğini bilmiyor, ancak 'Ignore' şartlı değil. –

7

olarak @Ignore bir test yok sayar.

Eğer cıvık varsayımlara bakacak bir şeye koşullu bir şey istiyorsanız.

http://junit.sourceforge.net/javadoc/org/junit/Assume.html

Bu

bir koşulu bakarak ve sadece o koşulu sağlandığı takdirde testi geçmeden çalışır. Durum yanlışsa test etkili bir şekilde "yok sayılır".

Eğer bunu bir yardımcı sınıfına koyarsanız ve bir dizi testinizden geçirirseniz, bunu istediğiniz gibi kullanabilirsiniz. Umarım yardımcı olur.

+0

OP'nin istediği şeyden emin değilim, ama tam olarak ne * I * aradığını, teşekkür ederim! – Michael

İlgili konular