Java
Assertions
assertEquals ve assertTrue ile iddiaları öğrenirsin.
Assertions
Assertions sınıfı, test sonucunu doğrulayan statik yöntemler sunar. En sık kullanılanları assertEquals, assertTrue, assertFalse ve assertNull'dır.
import static org.junit.jupiter.api.Assertions.*;
assertEquals(5, result);
assertTrue(result > 0);
assertNull(object);
İlk bağımsız değişken beklenen değeri, ikincisi gerçek değeri alır. Eşleşme yoksa test başarısız olur ve çerçeve hatayı raporlar. assertThrows ise bir istisnanın fırlatılmasını bekler; bu, hata yollarını test etmek için kullanılır.
assertThrows
Bir yöntemin istisna fırlatmasını bekleyen testler için assertThrows kullanılır. İlk bağımsız değişken beklenen istisna sınıfı, ikincisi ilgili kodu çalıştıran lambda'dır.
assertThrows(ArithmeticException.class, () -> {
int quotient = 10 / 0;
});
Eğer istisna fırlatılırsa test geçer; fırlatılmazsa başarısız olur. Bu, negatif senaryoları doğrulamanın güvenli yoludur ve try/catch yazmaktan daha kısadır. Döndürülen istisna nesnesi üzerinde de ek doğrulama yapılabilir.
Uygulama Divider için assertion yaz
Bir Divider sınıfı tanımla; divide(int a, int b) yöntemi a / b döndürsün. DividerTest sınıfında @Test ile işaretli testDivide yöntemi yaz; assertEquals(5, d.divide(10, 2)) ile doğrula. Ayrıca assertThrows(ArithmeticException.class, () -> d.divide(10, 0)) çağrısı ekle. Bir main metodu ekle ve divide(10, 2) sonucunu yazdır.
Örnek çözümü göster
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class Divider {
int divide(int a, int b) {
return a / b;
}
}
class DividerTest {
@Test
void testDivide() {
Divider d = new Divider();
assertEquals(5, d.divide(10, 2));
assertThrows(ArithmeticException.class, () -> d.divide(10, 0));
}
public static void main(String[] args) {
Divider d = new Divider();
System.out.println(d.divide(10, 2));
}
}
Kendini test et
-
assertTrue çağrısını tamamla
int result = 7;
____(result > 0);
Cevabı göster
int result = 7;
assertTrue(result > 0);
-
assertThrows'ın ilk bağımsız değişkeni ne olmalıdır?
- Hata iletisi metni
- Lambda ifadesi
- Doğrulanacak değer
- Beklenen istisna sınıfı
Cevabı göster
Beklenen istisna sınıfı — İlk bağımsız değişken beklenen istisna sınıfıdır (ör. ArithmeticException.class).
-
Assertion'ları görevine eşleştir
- assertEquals
- Değer eşitliği
- assertTrue
- Koşul doğru mu
- assertNull
- Değer null mu
- assertThrows
- İstisna bekler
Sıradaki ders: @BeforeEach ve @AfterEach