JUnit ile test metotlarımızı yazarken bazı değerleri sürekli atayarak işlemleri yaparız. Bazen testlerde atanan değerler diğer metot sonuçlarına etki edebilmektedir. Bu tarz sorunların önüne geçebilmek için setUp ve tearDown metotlarını kullanırız. setUp metodu ile her test metodu öncesi ilgili değişken atamaları veya metotlar çalıştırılır. Veritabanı bağlantısı, dosya yolları gibi tanımlar yapılabilir. tearDown metodu ile her test metodu sonrasında istediğimiz değerlere null atayabilir veya farklı işlemler yaptırabiliriz. Bu metotları çağırmak için TestCase sınıfı kalıtım olarak test metodumuza çağırılması gerekmektedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
public class IsimListesiTest extends TestCase{ private List<String> isimList; @Override public void setUp(){ isimList=new ArrayList<>(); isimList.add("Onur"); isimList.add("Yalçın"); isimList.add("Ahmet"); System.out.println("setUp çalıştı..."); } @Test public void testListeEkle(){ System.out.println("testListeEkle() için test başladı...!"); isimList.add("Batuhan"); assertTrue(isimList.size()==4); System.out.println(isimList); System.out.println("testListeEkle() için test bitti...!"); } @Test public void testListeCikar(){ System.out.println("testListeCikar() için test başladı...!"); isimList.remove(0); assertTrue(isimList.size()==2); System.out.println(isimList); System.out.println("testListeCikar() için test bitti...!"); } @Override public void tearDown(){ isimList=null; System.out.println("tearDown çalıştı..."); } } |
1 2 3 4 5 6 7 8 9 10 11 |
setUp çalıştı... testListeEkle() için test başladı...! [Onur, Yalçın, Ahmet, Batuhan] testListeEkle() için test bitti...! tearDown çalıştı... setUp çalıştı... testListeCikar() için test başladı...! [Yalçın, Ahmet] testListeCikar() için test bitti...! tearDown çalıştı... |
Yukarıda ki Isimler sınıfmızı TestCase ile kalıtım sağladık. TestCase sınıfından gelen setUp ve tearDown metotlarını oluşturuyoruz. Sınıfımızın başında isimler listesi tanımını yaptıkdan sonra setUp içersinde bu listeye değerleri atıyoruz. Bu yötem sayesinde setUp her yeni test metodunda bu değerleri tekrardan oluşturacak. Daha büyük projeleri test ederken, verileriniz değişikliğie uğrayabileceği için bu yöntem çok işinize yarayacaktır. tearDown ile her metodu sonunda listeye null değer gönderiyoruz. Bu yöntem projenizde ki ihtiyaçlara göre şekillenecektir. İster veritabanı bağlantısı açıp kapatın, ister değişkenlerinize belli değerleri atayın, bir şekilde işinize yarayacak bir yöntemdir.
testListeyeEkle metodumuzda listemize yeni değer ekleyerek listenin olması gerektiği boyutun kıyaslamasını sağladık. Beklediğimiz değer doğru olduğu için testimiz başarıyla tamamlandı. testListeCikar metodumuzda ise setUp içersinde tanımladığımız listeden ilk sırada olanı çıkardık ve tekrar listenin boyutunu kıyasladık. Bu kıyaslamada doğru olduğu için testimiz başarıyla tamamlandı.