CodeBlanks Logo Icon CodeBlanks

JUnit

JUnit 5 test çerçevesini öğrenirsin.

JUnit: Test çerçevesi

JUnit JVM için en yaygın test çerçevesidir. Kotlin testlerinde JUnit 5 (Jupiter) kullanılır. Çerçeve, build.gradle.kts'te testImplementation("org.jetbrains.kotlin:kotlin-test") bağımlılığıyla eklenir. Test sınıfları src/test/kotlin dizinine konur.

class CalculatorTest {
    @Test
    fun adds() {
        // assert
    }
}

Burada CalculatorTest bir test sınıfıdır; her test metodu @Test ile işaretlenir. JUnit, bu metotları bulur ve sırayla çalıştırır. Bir metot istisna fırlatmadan tamamlanırsa test başarılı sayılır. Test çalıştırma, IDE veya ./gradlew test ile yapılır.

Test sınıfı yapısı

Bir test sınıfı, normal bir Kotlin sınıfıdır; adı genelde Test ekiyle biter. İçinde her test bir metot olarak yazılır; @Test annotasyonu ile işaretlenir. Metotların dönüş türü Unit'tir; parametre almaz.

class CalculatorTest {
    @Test
    fun adds() { }

    @Test
    fun subtracts() { }
}

Burada iki test metodu vardır. JUnit her ikisini de ayrı ayrı çalıştırır. Test sınıfı adının Test ile bitmesi bir zorunluluk değil, bir gelenektir; böylece test ile üretim kodu kolayca ayrılır. Test metot adları genellikle test edilen davranışı yansıtır.

Uygulama Calculator sınıfı tanımla

class Calculator tanımla; içinde fun add(a: Int, b: Int): Int = a + b olsun. main içinde val c = Calculator() ile örnek oluştur; println(c.add(2, 3)) ile sonucu yazdır. Bu sınıf sonraki derslerde test edilecek.

Başlangıç kodu

Main.kt
// Calculator sınıfı tanımla: add(a: Int, b: Int): Int = a + b
// main: Calculator örneği oluştur, add(2, 3) çağrısını println ile yazdır
fun main() {
    // buraya yaz
}

Örnek çözüm

Main.kt
class Calculator {
    fun add(a: Int, b: Int): Int = a + b
}

fun main() {
    val c = Calculator()
    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 JUnit ne tür bir çerçevedir?

  • Test çerçevesi Doğru cevap
  • Yapı aracı
  • Veri tabanı
  • Arayüz kütüphanesi

Açıklama: JUnit, JVM için bir test çerçevesidir.

2 Test sınıfı adını tamamla

Soru
class Calculator____ {
    @Test
    fun adds() { }
}
Cevap
class CalculatorTest {
    @Test
    fun adds() { }
}

Açıklama: CalculatorTest, test sınıfı adlandırma geleneğine uyar.

3 JUnit kavramlarını eşle

Kavram Anlamı
JUnit Test çerçevesi
@Test Test metodu annotasyonu
CalculatorTest Test sınıfı
src/test/kotlin Test dizini

Orta seviye bölümündeki tüm dersler