Testing en Kotlin
Prueba servicios Kotlin/Spring con JUnit 5, MockK (incl. coEvery para suspend), kotlinx-coroutines-test, StepVerifier de Reactor y Testcontainers.
- Paso 1
Estructurar pruebas con JUnit 5 y Kotlin
JUnit 5 mas los nombres con backticks de Kotlin convierte las pruebas en especificaciones legibles y autodocumentadas.
Leer lección - Paso 2
Tests parametrizados y anidados en JUnit 5
Deja de copiar y pegar métodos de test casi idénticos: alimenta un solo test con muchas entradas y agrupa casos relacionados en bloques de comportamiento anidados y legibles.
Leer lección - Paso 3
Fundamentos de MockK: stubbing, verificación y captura
Reemplaza colaboradores reales con dobles de prueba controlables para verificar comportamiento, no implementación.
Leer lección - Paso 4
MockK para Corrutinas: coEvery, coVerify, Flow y Mocks Estáticos/de Objeto
Simula y verifica funciones suspend y Flows de forma idiomática: coEvery y coVerify hacen por las corrutinas lo que every y verify hacen por el código bloqueante.
Leer lección - Paso 5
Probando Corrutinas y Flows con kotlinx-coroutines-test
Domina el tiempo: prueba codigo suspendido de forma determinista con runTest, tiempo virtual y Flow.toList().
Leer lección - Paso 6
Reactor StepVerifier: Probar Flujos Reactivos
Conduce un Flux a traves de un guion de expectativas y verifica exactamente que emite, que falla y cuando termina, incluso adelantando los retrasos.
Leer lección - Paso 7
Testcontainers: bases de datos reales en tus pruebas de integración
Deja de simular tu base de datos y pruébala de verdad, levantada en segundos con Docker.
Leer lección - Paso 8
Fakes vs Mocks: eligiendo tus dobles de prueba
Los fakes prueban comportamiento, los mocks prueban conversaciones: elige el doble que coincida con lo que realmente estás probando.
Leer lección