JUnit Nedir?
Java’da birim test yazılması ve çalıştırılmasını sağlayan açık kaynak kodlu bir frameworktür. Detaylı bilgi için bu kaynağa gidebilirsiniz.
Ek açıklamalar, kodunuza ekleyebileceğiniz ve bunları yöntemlere veya sınıfta uygulayabileceğiniz meta tags gibidir. JUnit’teki bu açıklamalar, test yöntemleri hakkında aşağıdaki bilgileri sağlar –
- Test yöntemlerinden önce ve sonra hangi yöntemlerin çalışacağının bilgisi verilir.
- Hangi yöntemlerin tüm yöntemlerden önce ve sonra çalıştığının bilgisi verilir.
- Yürütme sırasında hangi yöntemlerin veya sınıfların yoksayılacağının bilgisi verilir.
Aşağıdaki yazı, ek açıklamaların bir listesini ve bunların JUnit’teki anlamlarını sağlar.
Annotation & Açıklamaları
1.@Test
JUnit’de, bir fonksiyonun test amacıyla yazıldığı belirtmek için kullanılan annotation
2.@Before
JUnit’de, bir test sınıfında, birden fazla test methodunun ihtiyaç duyacağı aynı değer ve nesneleri, testler çalışmadan önce yaratmak için kullanılan annotation.
3.@After
JUnit’de, bir test sınıfında, birden fazla test methodunun çalışmasından sonra ortak bazı kodların çalışması için kullanılan annotation. Örneğin bazı kaynakların serbest bırakılması vb.. bu method ile yapılır.
4.@BeforeClass
JUnit’de, bir test sınıfındaki test method’ları çalıştırılmaya başlamadan önce yapılması gereken işlerin yapıldığı method’u tanımlamak için kullanılan annotation
5.@AfterClass
JUnit’de, bir test sınıfındaki test method’larının hepsinin tamamlanmasından sonra yapılması gereken işlerin yapıldığı method’u tanımlamak için kullanılan annotation
6.@Ignore
Bir test methodunu çalıştırılmaması için kullanılan annotation. Bir test bloğunu silmek veya yorum yapmak yerine başına @Ignore eklemek yeterli olur.
Açıklamayı test etmek için JunitAnnotation.java adlı bir Java sınıfı dosyası oluşturun.
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
public class JunitAnnotation {
//execute before class
@BeforeClass
public static void beforeClass() {
System.out.println("in before class");
}
//execute after class
@AfterClass
public static void afterClass() {
System.out.println("in after class");
}
//execute before test
@Before
public void before() {
System.out.println("in before");
}
//execute after test
@After
public void after() {
System.out.println("in after");
}
//test case
@Test
public void test() {
System.out.println("in test");
}
//test case ignore and will not execute
@Ignore
public void ignoreTest() {
System.out.println("in ignore test");
}
}
Ardından, test senaryolarını yürütün.
Çıktıyı doğrulayın.
in before class
in before
in test
in after
in after class
true
Projeye ulaşmak için bu linke tıklayabilirsiniz.