Testing en Java con JUnit, Mockito y TDD
Aprende a probar software en serio: tests unitarios con JUnit 5 y Mockito, tests de integración con Testcontainers, TDD como disciplina de diseño y estrategia de testing para aplicaciones Spring Boot.
- Nivel
- Intermedio
- Duración
- 24 horas
- Modalidades
- Online en directo · In-company · A medida
- Dirigido a
- Desarrolladores Java que quieren escribir tests útiles y adoptar TDD con criterio.

¿Qué es este curso y por qué te interesa?
La diferencia entre un equipo que despliega con confianza y uno que despliega con miedo casi siempre es la misma: la calidad de sus tests. No la cantidad, la calidad. Muchos proyectos Java tienen cientos de tests que no detectan errores reales, se rompen con cada refactorización y tardan tanto que nadie los ejecuta. Escribir tests que aporten valor es una habilidad concreta, y es la que enseña este curso.
La base es el dominio técnico de las herramientas: JUnit 5 a fondo (ciclo de vida, tests parametrizados, anidados, extensiones), aserciones expresivas con AssertJ y Mockito usado con criterio, sabiendo qué simular y, sobre todo, qué no, porque el abuso de mocks es la causa número uno de los tests frágiles. Sobre ella se construye la estrategia: la pirámide de tests, qué probar en cada nivel y los tests de integración con Testcontainers, que permiten probar contra PostgreSQL o Kafka reales en lugar de imitaciones.
TDD se trabaja como lo que es: una disciplina de diseño, no un dogma. Practicarás el ciclo red-green-refactor en katas y en código realista, verás cómo el test primero empuja hacia diseños desacoplados y aprenderás cuándo TDD compensa y cuándo no. El curso cierra con el caso más frecuente en la vida real: añadir tests a código heredado que no fue diseñado para ser probado, y aplicar todo lo anterior a una aplicación Spring Boot con sus slices de test.
Capacidades que adquirirás
- Dominar JUnit 5: ciclo de vida, tests parametrizados, anidados y extensiones.
- Usar Mockito con criterio: cuándo simular, cuándo no, y cómo evitar tests frágiles.
- Escribir tests de integración reales con Testcontainers y bases de datos en Docker.
- Practicar TDD como disciplina de diseño con el ciclo red-green-refactor.
- Definir la estrategia de testing de una aplicación Spring Boot completa.
Objetivos del curso
- 01Escribir tests unitarios legibles, rápidos y que detecten errores reales.
- 02Estructurar los tests con patrones probados: arrange-act-assert y object mothers.
- 03Aplicar dobles de test (mocks, stubs, fakes) sabiendo qué aporta cada uno.
- 04Probar la integración con infraestructura real mediante Testcontainers.
- 05Interiorizar el ciclo TDD y su efecto sobre el diseño del código.
- 06Medir la calidad de los tests con cobertura bien interpretada y revisión crítica.
¿Es este curso para ti o para tu equipo?
Desarrolladores Java que quieren escribir tests útiles y adoptar TDD con criterio.
Desarrolladores Java sin hábito de testing
Programadores que escriben pocos tests o tests de compromiso y quieren incorporar la práctica con método.
Equipos con suites de tests frágiles
Equipos cuyos tests se rompen con cada cambio, tardan demasiado o no detectan errores reales.
Tech leads y responsables de calidad
Perfiles que definen la estrategia de testing del equipo y necesitan criterios para exigirla y revisarla.
Temario completo
Programa estructurado en módulos. Cada itinerario in-company se ajusta al nivel y a los objetivos concretos del equipo.
- Qué hace bueno a un test: rápido, aislado, repetible y expresivo.
- La pirámide de tests: unitarios, integración y extremo a extremo.
- Anatomía de un test: arrange-act-assert y un comportamiento por test.
- Qué probar y qué no: comportamiento frente a implementación.
Cómo se imparte
Práctica desde la primera sesión
Cada bloque combina explicación, demostración y laboratorio. Los alumnos trabajan sobre casos reales aplicables a su contexto profesional.
Casos de cliente
En programas in-company partimos de los procesos y datos del cliente. La formación deja de sonar genérica y empieza a resolver problemas concretos.
Materiales de apoyo
Los participantes reciben código, plantillas y guías reutilizables tras la formación. Lo que se aprende se mantiene en el día a día.
Adaptación al nivel del equipo
Antes de impartir, hacemos un breve diagnóstico y ajustamos profundidad y ritmo. La formación no se queda corta ni avanza por encima del grupo.
Modalidades disponibles
Cada formato puede adaptarse al ritmo y al contexto operativo de la organización.
Online en directo
Sesiones en streaming con interacción en vivo, ejercicios guiados y resolución de dudas.
In-company
Programa diseñado a medida y impartido para un único equipo o organización.
A medida
Itinerario completamente personalizado: temario, duración, formato y casos del cliente.
¿Por qué contratar este programa para tu equipo?
La formación no se diseña contra un examen, se diseña contra un objetivo de negocio.
- Mejora de productividad real en el puesto de trabajo.
- Actualización de competencias clave para el negocio.
- Mayor autonomía técnica y reducción de dependencia externa.
- Aplicación práctica inmediata sobre procesos del cliente.
- Mejor adopción tecnológica con criterios profesionales.
- Preparación para proyectos de IA, datos, automatización o desarrollo.
¿Se puede gestionar como formación bonificada?
Este curso puede plantearse como formación para empresas y, según las condiciones de cada organización, podría gestionarse dentro de iniciativas de formación bonificada. En DatIACode te ayudamos a estructurar la propuesta formativa y la documentación necesaria para su valoración.
¿Qué necesitas saber antes de empezar?
- Experiencia escribiendo Java: POO, colecciones y excepciones.
- Conocimientos básicos de Maven o Gradle.
- Nociones de Spring Boot y Docker recomendadas para los módulos finales.
Cómo se aplica lo aprendido
- Construcción de baterías de tests que permiten refactorizar sin miedo.
- Tests de integración fiables contra bases de datos y brokers reales.
- Adopción de TDD en el desarrollo de nuevas funcionalidades.
- Recuperación de código heredado mediante tests de caracterización.
- Definición de la estrategia de testing por capas en aplicaciones Spring Boot.
- Integración del testing en pipelines de CI con criterios de calidad.
Por qué elegir DatIACode
No vendemos formación: diseñamos programas que se traducen en capacidad operativa real.
Experiencia aplicada
Más de 20 años combinando consultoría, desarrollo y formación tecnológica para empresas de distintos sectores.
Visión de negocio
Cada programa parte de los objetivos del cliente. La técnica está al servicio del problema, no al revés.
Adaptación al equipo
Ajustamos profundidad, ritmo y casos de uso al nivel real del equipo tras un breve diagnóstico inicial.
Formación + consultoría
Si la formación destapa un proyecto, podemos acompañarte en su implantación. No abandonamos el resultado.
Especialización en IA
Trabajamos en IA aplicada todos los días. La formación no la imparte alguien que solo enseña, la imparte alguien que también construye.
Orientación a resultados
Entregables tangibles y métricas pactadas. Sin promesas vacías.
FAQ
De ambos, en ese orden de prioridad inverso: primero aprenderás a escribir buenos tests con JUnit y Mockito, porque sin eso TDD es imposible; después practicarás TDD como disciplina. El enfoque es pragmático: TDD se presenta con sus beneficios y sus límites, no como obligación universal.
Cuéntanos qué necesitas
Te respondemos en menos de 24h laborables con disponibilidad, opciones de modalidad y propuesta a medida si aplica.
- Diagnóstico inicial sin compromiso.
- Propuesta adaptada al nivel y al sector.
- Asesoramiento sobre formación bonificada.
Cursos relacionados
Ver todos los cursos- Ver curso
Programación30 horasDesarrollo backend con Java y Spring Boot
- Ver curso
Programación24 horasAPIs REST con Spring Boot: diseño, seguridad y buenas prácticas
- Ver curso
Programación20 horasArquitectura hexagonal y Clean Architecture con Java
