0Pricing
Kotlin Academy · Lektion

Assertions

Überprüfen Sie das Verhalten

Assertions ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist eine Assertion?

Eine Assertion überprüft, ob ein tatsächlicher Wert dem erwarteten Wert entspricht. Wenn sie fehlschlägt, schlägt der Test mit einer hilfreichen Meldung fehl.

JUnit5 stellt Assertions in org.junit.jupiter.api.Assertions bereit.

assertEquals

Die am häufigsten verwendete Assertion. Beachten Sie die Reihenfolge: zuerst der erwartete Wert, dann der tatsächliche Wert.

import org.junit.jupiter.api.Assertions.assertEquals

fun main() {
    val sum = 2 + 3
    assertEquals(5, sum)
    println("passed")
}

assertTrue und assertFalse

Überprüfen Sie boolesche Bedingungen direkt.

import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Assertions.assertFalse

fun main() {
    assertTrue(10 > 5)
    assertFalse("".isNotEmpty())
    println("ok")
}

Assertions für Nullwerte

Verwenden Sie assertNull und assertNotNull, um die Nullbarkeit zu überprüfen. assertNotNull führt in vielen Fällen außerdem zu einem Smart Cast.

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")
}

Exceptions überprüfen

assertThrows überprüft, ob ein Block eine bestimmte Exception auslöst. Die Exception wird zurückgegeben, sodass Sie ihre Meldung untersuchen können.

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")
}

Gruppierte Assertions

assertAll führt mehrere Assertions aus und meldet alle Fehler gemeinsam, statt beim ersten Fehler abzubrechen.

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")
}

Fehlermeldungen

Übergeben Sie eine Meldung (oder eine Lazy-Message-Lambda), damit Fehler selbsterklärend sind.

import org.junit.jupiter.api.Assertions.assertEquals

fun main() {
    val balance = 100
    assertEquals(100, balance, "balance should be unchanged")
    println("ok")
}

Collections vergleichen

assertEquals funktioniert bei Listen, wenn Reihenfolge und Inhalte übereinstimmen. Verwenden Sie assertIterableEquals für Iterables unterschiedlicher konkreter Typen.

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")
}

Fluent Assertions mit AssertK

Bibliotheken wie AssertK bieten einen lesbaren Stil wie assertThat(x).isEqualTo(y), der in Kotlin-Codebasen verbreitet ist.

// assertThat(result).isEqualTo(5)
// assertThat(list).contains("a", "b")
// assertThat(name).isNotNull()

fail()

Rufen Sie fail auf, um einen Fehler zu erzwingen. Das ist nützlich, um nicht erreichbare Verzweigungen oder unfertige Tests zu markieren.

import org.junit.jupiter.api.Assertions.fail

fun process(x: Int): String = when {
    x > 0 -> "positive"
    else -> fail("unexpected value")
}

Die richtige Assertion auswählen

Wählen Sie die spezifischste Assertion, damit Fehler klar verständlich sind:

  • Gleichheit → assertEquals
  • Bedingungen → assertTrue/assertFalse
  • Fehler → assertThrows
  • Mehrere Überprüfungen → assertAll

Kurze Überprüfung

Sie möchten, dass ein Test alle fehlgeschlagenen Überprüfungen auf einmal meldet, statt beim ersten Fehler abzubrechen. Was verwenden Sie?

Zusammenfassung

Sie kennen nun die JUnit5-Assertions:

  • assertEquals (zuerst der erwartete Wert), assertTrue/assertFalse
  • assertNull/assertNotNull, assertThrows
  • assertAll für gruppierte Überprüfungen
  • Fügen Sie Meldungen hinzu, um die Verständlichkeit zu verbessern

Als Nächstes: Abhängigkeiten mit MockK mocken.

Häufig gestellte Fragen

Ist die Lektion „Assertions“ kostenlos?

Ja — der vollständige Text von „Assertions“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Assertions“?

Überprüfen Sie das Verhalten Du übst Kotlin Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Kotlin Academy zu starten?

Keine Vorkenntnisse erforderlich. Kotlin Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Assertions“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Kotlin Academy-Lektion Code schreiben und ausführen?

Ja. Jede Kotlin Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Tests mit JUnit5 schreiben
  2. Assertions
  3. Mocking mit MockK
  4. Coroutine-Tests
← Zurück zu Kotlin Academy