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