CodeBlanks Logo Icon CodeBlanks

JUnit temelleri

@Test ile test yazmayı öğrenirsin.

JUnit temelleri

JUnit, Java için modern bir test çerçevesidir. JUnit 5'in güncel sürümü Jupiter olarak adlandırılır ve org.junit.jupiter.api paketinden gelir. Bir test yöntemini @Test annotation ile işaretlersin.

import org.junit.jupiter.api.Test;

class CalculatorTest {
    @Test
    void testAdd() {
        // doğrulama
    }
}

Bu annotation, yöntemin bir test olduğunu bildirir; çerçeve onu otomatik olarak çalıştırır. Test sınıfı herhangi bir sınıf olabilir, ancak adı genelde XxxTest biçimindedir. Bu yapı, kod kalıtesini güvence altına alır.

JUnit 5 mimarisi

JUnit 5 üç alt modülden oluşur: Platform testleri çalıştıran motoru, Jupiter yeni test API'lerini ve Vintage eski JUnit 4 testlerini destekler.

Platform, IDE ve derleme araçlarıyla (Maven, Gradle) bütünleşir. Jupiter, @Test, Assertions ve @BeforeEach gibi API'leri sağlar. Vintage ise geçiş döneminde eski testlerin çalışmasına izin verir. Yeni kodda yalnızca Jupiter kullanılır.

Uygulama Calculator sınıfı ve testini yaz

Bir Calculator sınıfı tanımla; add(int a, int b) yöntemi iki sayıyı toplasın. CalculatorTest sınıfında @Test ile işaretli testAdd yöntemi yaz; assertEquals(5, c.add(2, 3)) ile doğrula. Bir main metodu ekle ve add(2, 3) sonucunu System.out.println ile yazdır.

Başlangıç kodu

Main.java
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

// Calculator sınıfını tanımla (add yöntemi toplamı döndürür)

// testAdd yöntemini test annotation'ı ile işaretle ve assertEquals çağır

// main metodu ekle ve add(2, 3) sonucunu yazdır

Örnek çözüm

Main.java
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class Calculator {
    int add(int a, int b) {
        return a + b;
    }
}

class CalculatorTest {
    @Test
    void testAdd() {
        Calculator c = new Calculator();
        assertEquals(5, c.add(2, 3));
    }

    public static void main(String[] args) {
        Calculator c = new Calculator();
        System.out.println(c.add(2, 3));
    }
}

Beklenen çıktı

5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir test yöntemini işaretlemek için hangi annotation kullanılır?

  • @TestMethod
  • @Run
  • @Test Doğru cevap
  • @TestCase

Açıklama: @Test, JUnit 5'te bir yöntemi test olarak işaretler.

2 Test yöntemini tamamla

Soru
@Test
void testAdd() {
    Calculator c = new Calculator();
    int result = c.add(2, 3);
    ____(5, result);
}
Cevap
@Test
void testAdd() {
    Calculator c = new Calculator();
    int result = c.add(2, 3);
    assertEquals(5, result);
}

Açıklama: assertEquals beklenen ve gerçek değeri karşılaştırır.

3 JUnit kavramlarını eşleştir

Kavram Anlamı
@Test Test yöntemini işaretler
Jupiter Yeni test API'sini sağlar
Platform Testleri çalıştıran motor
Assertions Doğrulama yöntemleri

İleri seviye bölümündeki tüm dersler