• Buradasın

    Java'da Unit Test Yazma ve Servis Test Etme Eğitimi

    youtube.com/watch?v=534HcB8gxIU

    Yapay zekadan makale özeti

    • "Haydi Kodlayalım" eğitim kanalından bir eğitmen tarafından sunulan bu video, Java programlama dilinde unit test yazma ve servis test etme konularını ele almaktadır.
    • Video, unit testlerin önemi ve avantajları hakkında bilgi vererek başlıyor, ardından Spring Boot projesinde unit test yazma sürecini adım adım gösteriyor. Eğitmen, Mockito kütüphanesinin kullanımını, kişi DTO'su kullanarak servise kaydetme metodunu test etme, repository'yi mock etme ve test sonuçlarını inceleme konularını detaylı şekilde anlatıyor.
    • Eğitim içeriğinde ayrıca test metodlarının nasıl isimlendirilmesi gerektiği, testin coverage değerlerinin nasıl kontrol edileceği ve testin başarılı olduğunu gösterme adımları da gösterilmektedir. Video, kodun kalitesini artırmak ve hata sayısını azaltmak isteyen geliştiriciler için faydalı bir kaynak niteliğindedir.
    00:07Unit Test Yazma Giriş
    • Video, daha önce geliştirilen data.jppos cresqual projesinde unit testler yazmaya başlıyor.
    • Kaynak kodlar GitHub'da "haydi kodlayalım" altında unit test ve Spring ile ilgili örneklerin projesi olarak bulunabilir.
    • Projede kişi servisinde kaydetme ve tümünü getiren metotların unit testleri oluşturulacak.
    01:11Unit Test İçin Gerekli Ayarlar
    • Projede pom.xml dosyasında Spring Boot Starter Test'in olması gerekiyor.
    • Test ile ilgili Mockito, API Moto ve Spring Boot'un testi gibi kütüphanelerin mevcut olması gerekiyor.
    • IntelliJ IDEA'da "Generate" menüsünden "Unit Testing" seçeneği ile test case'leri oluşturulabilir.
    03:00Unit Test Yapısı
    • Testler için "@Test" annotation'ı import edilmeli ve test class'ı gerçek source kodunun altındaki paket adresi ile aynı olmalı.
    • Test class'ı "src/test/java" klasörünün altında olmalı ve "test" uzantılı olmalı.
    • Mockito kullanmak için "@MockitoExtension" annotation'ı ile extend edilmeli.
    05:09Unit Test'in Faydaları
    • Unit testing, bir projedeki atomik her bir küçük parçanın kod yazılarak test edilmesidir ve kodu daha kontrollü hale getirir.
    • Otomasyonlarla tüm testler bir dakika içerisinde çalıştırılabilir, bu da bin satır kodu test etmeyi kolaylaştırır.
    • Unit testler daha hızlı yazılım geliştirmeyi sağlar, daha az hata içerir ve kodun çalışırkenki örnek dökümanını oluşturur.
    08:45Unit Test'in Ek Faydaları
    • Unit testler daha kaliteli, daha iyi bir tasarıma sahip kod elde etmeyi sağlar.
    • Hataların daha kolay bulunması ve düzeltilmesini sağlar.
    • Test edilebilir kod haline getirmek için kodun basitleştirilmesi gerekir ve bu da kodun kalitesini arttırır.
    10:26Test Metotlarının Yazımı
    • Test metodlarının yazımında standartlar ve alışkanlıklar vardır, örneğin "testSave" şeklinde isimlendirilebilir.
    • Test metodlarında "when" ve "then" gibi etiketler kullanılır.
    • Test metodlarında metotun ne istediğini belirtmek önemlidir, örneğin "testSave(PersonDTO input)" şeklinde.
    13:55Mockito Kullanımı
    • Mockito, test edilecek sınıfın instance'ını yaratmak için kullanılır.
    • "@InjectMock" annotation'ı ile test edilecek sınıfın instance'ı oluşturulur.
    • "@Mock" annotation'ı ile test edilecek sınıfın ihtiyaç duyduğu bileşenler moklanır ve çalışma zamanında gerçek olmayan kopyaları yaratılır.
    15:42Servis Testi ve DTO Doğrulama
    • Servise kaydet metodunu çağırdığımızda kişi DTO'su verilecek ve servis geriye başka bir DTO veya sonuç dönecek.
    • Test sırasında result'ın geri verdiği adı alanı ile gönderilen kişi DTO'nun adı aynı olmalı ve gönderilen nesne bozulmamış olmalı.
    • Test annotation kullanılarak test çalıştırılacak ve servisten gelen sonuçlar kontrol edilecek.
    18:43Moklama İşlemi
    • Repository'yi moklamak için Mockito kullanılarak, repository'nin save metodu çağrıldığında belirli bir kişi nesnesi döndürülecek.
    • Mok nesnesi, veritabanından gelen nesnenin get id'si çağrıldığında belirli bir değer döndürerek veritabanındaki kaydın oluşumunu soyutluyor.
    • Moklama işlemi, servisten gelen DTO'nun id'sinin belirli bir değer olması gerektiğini kontrol etmek için kullanılıyor.
    27:07Test Çalıştırma ve Coverage
    • Test çalıştırıldığında servisin kodu çalıştırılıyor ve coverage ile testin verimliliği kontrol edilebiliyor.
    • Test, klasın içerisindeki metotların yüzde kırkiki'sini doğruluyor ve otuzbir satırlık kodun onyedi satırını karşılıyor.
    • Line coverage yüzde elli olarak hesaplanıyor ve bu haliyle ilk test metodu (save metodu) oluşturulmuş oluyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor