0Pricing
Kotlin Academy · Ders

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/assertFalse
  • assertNull/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.

Bu kursun tüm dersleri

  1. JUnit5 ile Test Yazma
  2. Doğrulamalar
  3. MockK ile Taklitler
  4. Korutin Testi
← Kotlin Academy Sayfasına Dön