Kotlin
@Test
@Test annotation'ı ile test yazmayı öğrenirsin.
@Test: Test metodu annotasyonu
@Test annotasyonu, bir metodun JUnit tarafından çalıştırılacak bir test olduğunu belirtir. Annotasyon, metodun üzerinde @Test yazılarak eklenir. JUnit, @Test'li metotları bulur ve her birini ayrı bir örnekle çalıştırır.
import org.junit.jupiter.api.Test
class CalculatorTest {
@Test
fun adds() {
// doğrulama
}
}
Annotasyon, metoda ek meta veri ekler; JUnit bu meta veriyi okuyarak metodu test olarak tanır. Bir test metodu başarısız olursa (istisna fırlatırsa) JUnit o testi başarısız olarak işaretler. Annotasyonlar Kotlin'de @ ile başlar ve sınıf veya metot üstüne yazılır.
Test metodu gövdesi
Bir test metodu, test edilen kodu çağırır ve sonucu doğrular. Doğrulama, genellikle bir assertion (iddia) ile yapılır: beklenen değer ile gerçek değer karşılaştırılır. Eğer eşleşmezse istisra fırlatılır ve test başarısız olur.
@Test
fun adds() {
val c = Calculator()
val result = c.add(2, 3)
check(result == 5) { "5 bekleniyordu, geldi: $result" }
}
Burada check fonksiyonu koşulu doğrular; yanlışsa IllegalStateException fırlatır. Bu, Kotlin'in yerleşik doğrulama fonksiyonudur; JUnit'in assertEquals'i bir sonraki derste işlenecek. Test metodu başarılı olursa hiçbir şey fırlatılmaz ve test geçer.
Uygulama check ile test doğrula
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; val result = c.add(2, 3) ile sonucu al; check(result == 5) ile doğrula; ardından println("passed") yazdır.
Örnek çözümü göster
class Calculator {
fun add(a: Int, b: Int): Int = a + b
}
fun main() {
val c = Calculator()
val result = c.add(2, 3)
check(result == 5)
println("passed")
}
Kendini test et
-
Test annotasyonu ekle
class CalculatorTest {
____
fun adds() { }
}
Cevabı göster
class CalculatorTest {
@Test
fun adds() { }
}
-
@Test kavramlarını eşle
- @Test
- Test annotasyonu
- JUnit
- Çalıştırıcı
- check(cond)
- Doğrulama
- istisra
- Başarısız test
-
Bir test metodu ne zaman başarılı sayılır?
- Hızlı tamamlanırsa
- İstisra fırlatmadan tamamlanırsa
- Ekran çıktısı üretirse
- Dosyaya yazarsa
Cevabı göster
İstisra fırlatmadan tamamlanırsa — Test, istisra fırlatmadan tamamlanırsa başarılıdır.
Sıradaki ders: Assertions