0Pricing
Kotlin Academy · Lección

Aserciones

Verifique el comportamiento

Aserciones es una lección gratuita de Kotlin Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Academy incluye 4 lecciones en total.

¿Qué es una aserción?

Una aserción comprueba que un valor real coincide con el valor esperado. Si falla, la prueba falla y muestra un mensaje útil.

JUnit5 proporciona aserciones en org.junit.jupiter.api.Assertions.

assertEquals

La aserción más habitual. Recuerde el orden: primero el valor esperado y después el valor real.

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

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

assertTrue y assertFalse

Compruebe directamente las condiciones booleanas.

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

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

Aserciones de valores nulos

Use assertNull y assertNotNull para verificar la nulabilidad. assertNotNull también realiza un smart cast en muchos casos.

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

Comprobar excepciones

assertThrows verifica que un bloque lanza una excepción específica. Devuelve la excepción para que pueda inspeccionar su mensaje.

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

Aserciones agrupadas

assertAll ejecuta varias aserciones e informa de todos los fallos conjuntamente, en lugar de detenerse en el primero.

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

Mensajes de error

Pase un mensaje (o una lambda de mensaje diferido) para que los fallos se expliquen por sí mismos.

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

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

Comparar colecciones

assertEquals funciona con listas cuando coinciden el orden y el contenido. Use assertIterableEquals para iterables de tipos concretos diferentes.

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

Aserciones fluidas con AssertK

Bibliotecas como AssertK ofrecen un estilo legible de assertThat(x).isEqualTo(y), habitual en los codebases de Kotlin.

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

fail()

Llame a fail para provocar un fallo, lo que resulta útil para marcar ramas inalcanzables o pruebas sin terminar.

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

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

Elegir la aserción adecuada

Elija la aserción más específica para obtener fallos claros:

  • Igualdad → assertEquals
  • Condiciones → assertTrue/assertFalse
  • Errores → assertThrows
  • Varias comprobaciones → assertAll

Comprobación rápida

Quiere que una prueba informe de todas las comprobaciones fallidas a la vez, en lugar de detenerse en la primera. ¿Qué utiliza?

Resumen

Ya conoce las aserciones de JUnit5:

  • assertEquals (primero el valor esperado), assertTrue/assertFalse
  • assertNull/assertNotNull, assertThrows
  • assertAll para comprobaciones agrupadas
  • Añada mensajes para aportar claridad

A continuación: simular dependencias con MockK.

Preguntas frecuentes

¿La lección «Aserciones» es gratis?

Sí — el texto completo de «Aserciones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Academy, actualiza a CoddyKit PRO. El curso de Kotlin Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Aserciones»?

Verifique el comportamiento Practicas Kotlin Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Kotlin Academy?

No se requiere experiencia previa. Kotlin Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Aserciones»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Kotlin Academy?

Sí. Cada lección de Kotlin Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Escritura de pruebas con JUnit5
  2. Aserciones
  3. Mocking con MockK
  4. Pruebas de coroutines
← Volver a Kotlin Academy