Doğrulamalar
Davranışı doğrulayın
Doğrulamalar, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.
Doğrulama nedir?
Bir doğrulama, gerçek değerin beklediğiniz değerle eşleştiğini denetler. Doğrulama başarısız olursa test, yararlı bir mesajla başarısız olur.
JUnit5, doğrulamaları org.junit.jupiter.api.Assertions içinde sağlar.
assertEquals
En yaygın doğrulamadır. Sıralamaya dikkat edin: önce beklenen, sonra gerçek değer.
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val sum = 2 + 3
assertEquals(5, sum)
println("passed")
}assertTrue ve assertFalse
Boole koşullarını doğrudan doğrulayın.
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Assertions.assertFalse
fun main() {
assertTrue(10 > 5)
assertFalse("".isNotEmpty())
println("ok")
}Boş değer doğrulamaları
Boş değer kabul edilebilirliğini doğrulamak için assertNull ve assertNotNull kullanın. assertNotNull, birçok durumda akıllı tür dönüşümü de yapar.
import org.junit.jupiter.api.Assertions.assertNotNull
import org.junit.jupiter.api.Assertions.assertNull
fun main() {
val name: String? = "Ada"
assertNotNull(name)
assertNull(null)
println("done")
}İstisnaları doğrulama
assertThrows, bir kod bloğunun belirli bir istisna fırlattığını doğrular. İstisnayı döndürdüğü için mesajını inceleyebilirsiniz.
import org.junit.jupiter.api.Assertions.assertThrows
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val ex = assertThrows(IllegalArgumentException::class.java) {
require(false) { "bad input" }
}
assertEquals("bad input", ex.message)
println("caught")
}Gruplandırılmış doğrulamalar
assertAll, birden çok doğrulamayı çalıştırır ve ilk hatada durmak yerine tüm başarısızlıkları birlikte bildirir.
import org.junit.jupiter.api.Assertions.assertAll
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
assertAll(
{ assertEquals(2, 1 + 1) },
{ assertEquals(4, 2 + 2) }
)
println("all passed")
}Başarısızlık mesajları
Başarısızlıkların kendini açıklamasını sağlamak için bir mesaj (veya gecikmeli bir mesaj lambda'sı) iletin.
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val balance = 100
assertEquals(100, balance, "balance should be unchanged")
println("ok")
}Koleksiyonları karşılaştırma
Sıra ve içerik eşleştiğinde assertEquals listelerle çalışır. Somut türleri farklı yinelenebilir koleksiyonlar için assertIterableEquals kullanın.
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val expected = listOf(1, 2, 3)
val actual = (1..3).toList()
assertEquals(expected, actual)
println("lists equal")
}AssertK ile akıcı doğrulamalar
AssertK gibi kitaplıklar, Kotlin kod tabanlarında yaygın olan okunabilir assertThat(x).isEqualTo(y) biçimini sunar.
// assertThat(result).isEqualTo(5)
// assertThat(list).contains("a", "b")
// assertThat(name).isNotNull()Başarısızlık oluşturma
Başarısızlığı zorunlu kılmak için fail çağırın. Bu, ulaşılamayan dalları veya tamamlanmamış testleri işaretlemek için kullanışlıdır.
import org.junit.jupiter.api.Assertions.fail
fun process(x: Int): String = when {
x > 0 -> "positive"
else -> fail("unexpected value")
}Doğru doğrulamayı seçme
Hataların açık olması için en özel doğrulamayı seçin:
- Eşitlik →
assertEquals - Koşullar →
assertTrue/assertFalse - Hatalar →
assertThrows - Birden çok denetim →
assertAll
Hızlı kontrol
Bir testin ilk başarısız denetimde durmak yerine başarısız olan her denetimi aynı anda bildirmesini istiyorsunuz. Ne kullanırsınız?
Özet
Artık JUnit5 doğrulamalarını biliyorsunuz:
assertEquals(önce beklenen değer),assertTrue/assertFalseassertNull/assertNotNull,assertThrows- Gruplandırılmış denetimler için
assertAll - Açıklık için mesajlar ekleme
Sonraki konu: MockK ile bağımlılıkları sahteleme.
Sıkça Sorulan Sorular
“Doğrulamalar” dersi ücretsiz mi?
Evet — “Doğrulamalar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.
“Doğrulamalar” dersinde ne öğreneceğim?
Davranışı doğrulayın Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Doğrulamalar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.