Assertions
- Kotlin kursu
- Orta seviye
- Ders 108/116
- 5 dk
assertEquals, assertTrue ile iddiaları öğrenirsin.
Assertions: assertEquals, assertTrue
Assertion'lar, testte beklenen ile gerçek değeri karşılaştıran fonksiyonlardır. assertEquals(expected, actual) iki değerin eşit olduğunu, assertTrue(condition) koşulun doğru olduğunu doğrular. Eğer doğrulama başarısız olursa istisra fırlatılır ve test başarısız olur.
assertEquals(5, c.add(2, 3))
assertTrue(c.add(2, 3) > 0)Burada birinci satır add(2, 3)'ün 5 olduğunu, ikinci satır sonucun pozitif olduğunu doğrular. Assertion'lar, check'ten daha açık hata mesajları üretir; beklenen ve gerçek değeri gösterir. JUnit'in Assertions nesnesi bu fonksiyonları sağlar; kotlin.test paketi de uyumlu sürümler sunar.
Assertion hata mesajları
Bir assertion başarısız olduğunda, JUnit ayrıntılı bir hata mesajı üretir. assertEquals, beklenen ve gerçek değeri mesaja ekler; böylece hatanın ne olduğunu anlarsın. assertTrue, koşulun yanlış olduğunu söyler. Mesaja ek bağlam eklemek için üçüncü bir dize argümanı verilebilir.
assertEquals(5, result, "add(2,3) 5 olmalı")
assertTrue(list.isEmpty(), "liste boş olmalı")Burada her assertion'a bir mesaj eklenir; bu, test başarısız olduğunda neyin yanlış gittiğini açıklar. İyi mesajlar, testin neden başarısız olduğunu hızlıca anlamanı sağlar. Çok sayıda assertion tek testte birikirse, testi parçalamak iyi bir alışkanlıktır.
Uygulama assertEquals ile test doğrula
class Calculator tanımla; içinde fun add(a: Int, b: Int): Int = a + b olsun. Ardından fun assertEquals(expected: Int, actual: Int) yardımcı fonksiyonu tanımla; gövdesi eşit değilse AssertionError fırlatsın. main içinde val c = Calculator() ile örnek oluştur; assertEquals(5, c.add(2, 3)) ile doğrula; println("all passed") yazdır.
Başlangıç kodu
class Calculator {
fun add(a: Int, b: Int): Int = a + b
}
fun assertEquals(expected: Int, actual: Int) {
if (expected != actual) throw AssertionError("expected $expected but was $actual")
}
// main: add(2, 3) sonucunu al, assertEquals ile 5 bekleniyor olarak doğrula
// "all passed" yazdır
fun main() {
// buraya yaz
}Örnek çözüm
fun main() {
val c = Calculator()
assertEquals(5, c.add(2, 3))
println("all passed")
}Beklenen çıktı
all passed
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 assertEquals(4, calc.add(2, 2)) neyi doğrular?
- add metodunun 2 döndürdüğünü
- add metodunun 0 döndürdüğünü
- add metodunun 4 döndürdüğünü Doğru cevap
- add metodunun 22 döndürdüğünü
Açıklama: assertEquals(4, ...) gerçek değerin 4 olduğunu bekler.
2 Eşitlik doğrula
____(5, c.add(2, 3))
assertEquals(5, c.add(2, 3))
Açıklama: assertEquals(5, ...) beklenen değerin 5 olduğunu doğrular.
3 Assertion türlerini eşle
| Kavram | Anlamı |
|---|---|
assertEquals(a, b) |
Eşitlik |
assertTrue(cond) |
Doğruluk |
assertNull(x) |
Nullluk |
assertFalse(cond) |
Yanlışlık |