Java’da derleme, test ve hata ayıklama
Maven ve Gradle ile projeyi derler, JUnit 5 ve Mockito ile kapsamlı testler yazar, jdb ve günlük kayıtlarıyla hatanın kaynağına inersin.
Seviye 201 · 18 ders · 15 pratik lab
Dersler
Derleme araçları
- Maven yaşam döngüsü ve pom.xml
- Bağımlılıklar, kapsamlar ve dependency:tree
- Gradle ile aynı projeyi derlemek
- Çalıştırılabilir JAR ve sürüm bilgisi
- Kısa görev: iki modüllü proje kur
Test
- JUnit 5: yaşam döngüsü, assert’ler ve görüntü adları
- Parametreli testler
- Mockito ile sahte nesneler ve doğrulama
- Geçici klasörler ve dosya sistemi testleri
- JaCoCo ile kapsama raporu ve eşik
- Kısa görev: testi olmayan eski sınıfı güvenle değiştir
Hata ayıklama ve günlük
- Yığın izlerini okumak ve neden zincirleri
- jdb ile kesme noktası ve adım adım ilerleme
- SLF4J ve Logback ile günlük düzeyleri
- Günlükte gizli veri bırakmamak
- Statik analiz: javac -Xlint ve derleyici uyarıları
- Kısa görev: yalnızca günlük ve hata ayıklayıcıyla hatayı bul
Bitirme
- Bitirme görevi: testleri ve kapsam kapısı olan fatura hesaplayıcı
Pratik lablar
- pom.xml'e bağımlılık ve sürüm eklemek: Projeye JUnit 5 bağımlılığını test kapsamıyla ekle, Java sürümünü ayarla ve mvn test'in çalıştığını göster.
- Bağımlılık çakışmasını ağaçtan çözmek: dependency:tree çıktısından iki farklı sürümle gelen kitaplığı bul; sürümü dependencyManagement ile sabitle ve NoSuchMethodError'ı gider.
- İki modüllü projeyi kurup Gradle'a taşımak: Çekirdek ve uygulama modüllerinden oluşan Maven projesini kur; aynı yapıyı Gradle ile de derle ve iki aracın aynı testleri çalıştırdığını göster.
- Çalıştırılabilir JAR üretmek: Ana sınıfı bildirim dosyasına yazan yapılandırmayı ekle ve java -jar ile çalıştığını göster.
- Sürüm bilgisini derlemeden okumak: Proje sürümünü kaynak süzmeyle özellik dosyasına yaz ve --version seçeneğinde sürüm ile derleme zamanını göster.
- Bağımlılıkları içeren yinelenebilir JAR: Tüm bağımlılıkları içeren tek JAR üret; iki ayrı derlemenin aynı SHA-256 özetini verdiğini ve çakışan kaynak dosyalarının doğru birleştiğini göster.
- İndirim metoduna ilk JUnit testlerini yazmak: İndirim metodu için okunur adlı, sınır değerleri ve istisna durumunu kapsayan JUnit 5 testleri yaz.
- Vergi dilimlerini parametreli testle sınamak: CsvSource ile vergi dilimi tablosunu sına ve dilim sınırındaki gizli hatayı ortaya çıkar.
- Testsiz eski sınıfı güvenle değiştirmek: Davranışı belgelenmemiş fiyatlama sınıfını önce mevcut davranışı sabitleyen testlerle kuşat, sonra istenen değişikliği testler kırılmadan yap.
- Dosya yazan kodu geçici klasörle sınamak: TempDir ile dışa aktarıcının yazdığı dosyanın içeriğini ve var olan dosyanın üzerine yazma davranışını sına.
- Bildirim servisini Mockito ile taklit etmek: E-posta göndericisini taklit et; başarılı siparişte bir kez çağrıldığını, başarısızda hiç çağrılmadığını ve argümanını ArgumentCaptor ile doğrula.
- JaCoCo ile kapsam eşiği kapısı kurmak: Derlemeye JaCoCo ekle; dal kapsamı yüzde seksenin altındaysa derlemeyi kıran kuralı yaz ve eksik dalları test ederek kapıyı geç.
- Yığın izinden kök nedeni okumak: İç içe Caused by zincirli yığın izinden asıl hatanın sınıfını ve satırını bul ve hatayı düzelt.
- Günlük düzeylerini ayarlayıp gizli değerleri maskelemek: System.out çağrılarını SLF4J'ye taşı, paket başına düzey ayarla ve parola ile belirteçlerin günlüğe düşmediğini testle göster.
- Yalnızca günlük ve hata ayıklayıcıyla hatayı bulmak: Ara sıra yanlış bakiye üreten toplu işte günlükleri izleyip jdb ile kesme noktası koyarak hatalı dalı bul, düzelt ve -Xlint uyarılarını sıfırla.
Kurs hakkında
Maven ve Gradle ile projeyi derler, JUnit 5 ve Mockito ile kapsamlı testler yazar, jdb ve günlük kayıtlarıyla hatanın kaynağına inersin.
Ne öğreneceksin
- Derleme araçları
- Test
- Hata ayıklama ve günlük
- Bitirme
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.