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/assertFalseassertNull/assertNotNull,assertThrowsassertAllfü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.