JUnit
- Kotlin kursu
- Orta seviye
- Ders 106/116
- 5 dk
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
// 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
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
class Calculator____ {
@Test
fun adds() { }
}
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 |