Mehmet Ethem SULAN :: Test Güdümlü Yazılım(Test Driven Development) :: JUnit ile Testler Nasıl Yazılır(Resimli Gösterim)

j1 

Java project oluşturduktan sonra.src üzerine gelip sağ tıklayıp new project ten other(en altta) i seçip resimde görüldüğü gibi java nın içindeki JUNit klasorunden JUnit Test Case yi seçip next diyoruz.

j2

Paket oluşturmadığımız için bir paket ve name yazılan yere de bir isim yazıyoruz.Bu isim genelde(zorunlu değil) hangi sınıf için test yazılıyorsa mesela JUnitSınıf için ben yazıyorum başına Test yazarak isimlendiriyoruz.setUp ve tearDown kutucuklarını işaretleyebilirsiniz.

j3

Fnish deyince uyarı veriyor direk ok tıklayın.

j4 

Dikkat java projemize JUnit 3 ü ekledik.Bujunit.jar test ilgili bir çok metod ve sınıf barındırıyor.

j5

TestJUnitSınıf.java içi yukarda kutuçukları işaretlediğimizden otomatik geldiler.Bu iki metod arasına tüm test lerimizi yazıyoruz.

j6

testOnveBesSayilarinCarpimiEllimi isminde void bir metod tanımladım.Genelde public void isim(){ assert leri yaz} şeklinde yazılır bu metodlar

j7

Dikkat sınıf oluşturmadan testler yazılır.Bunun önemli bir avantajı gereksiz yere (ilerde kullanabilirim bu metodu şimdi oluşturayım da lazım olur gibisinden) metod ve değişken yazılmasını önler ve yazacağımız sınıfı oluşturmadan ne iş yapacağını hayal etmemiz gerekiyor.Ilk önce test yazılır.JUnitSınıfı isminde bir sınıftan nesnem adında obje türetiliyor ve testOnveBesSayilarinCarpimiEllimi() metodunda assertEqual(String mesaj,int yapılacak,int beklenen sonuç) şeklinde testlerimiz yazdık.Işte bunları yazarken aslında carp() isminde ne metodumuz var ne de JUnitSınıfı isminde sınıfımız var.Önce onalra ait testleri yazdık.Işte bu durumda Eclipse idesi bizi uyarır.Bunların olmadığını altı kırmızı işaretleyerek uyarı veriri.Sınıf üzerine gelince bu isimde sınıf olşturulsun mu evet diyoruz otomatik eclipse olşturuyor.Metodta aynı şekilde oluşturuyoruz.Aşağıdaki resimlerde görüldüğü gibi uyarı veriri.

j8

j9

create class tıklayıp finis ile sınıfı otomatik bizim için oluşturu eclipse.

j10

Sınıf oluşturulduktan sonra bu sefer carp() isminde metod yok uyarısını veriri.Onu da otomatik oluşturuyoruz

j11

Buraya dikkat otomatik oluşturulan metodların genelde tipi Object olur ve dönen değer varsa null olur.Bunları biz istediğimiz şekilde değiştirebiliyoruz.Bize i*j sonucu ve int tipinde metod lazım.

j12

Bunu da oluşturduktan sonra TestJUnitSinifi sınıfımıza gidip sağ tıklayıp Run as JUnit test ile testimizi çalıştırıyoruz.

j13

Dikkat biz 5 ve 10 parametrelerini gönderdik ve sonucun 50 olmasını gerekir.beklenen değere 100 yazıldığı için şartımız sağlanamdığından testimiz yanlış olur ve geçmez.Hatayı da sağ alt köşede belirtiyor.

j14

Yukarda görüldüğü gibi testimizin beklenen kısmına 50 yazınca yeşil yanıyor ve testimiz geçti.Test geçtiği anda yeni bir teste geçilir.

Comments

There are 2 comments for this post.

  1. Anonymous on Ocak 23, 2010 5:17 am

    güzel anlatım olmuş. tebrikler…

  2. okan on Mart 25, 2013 2:32 pm

    resimler patlamış

Write a Comment

Let me know what you think?