Saltar al contenido principal
Formación DatIACode

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.
Sobre el curso

¿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.

Qué aprenderás

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

Objetivos del curso

  1. 01Escribir tests unitarios legibles, rápidos y que detecten errores reales.
  2. 02Estructurar los tests con patrones probados: arrange-act-assert y object mothers.
  3. 03Aplicar dobles de test (mocks, stubs, fakes) sabiendo qué aporta cada uno.
  4. 04Probar la integración con infraestructura real mediante Testcontainers.
  5. 05Interiorizar el ciclo TDD y su efecto sobre el diseño del código.
  6. 06Medir la calidad de los tests con cobertura bien interpretada y revisión crítica.
A quién va dirigido

¿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

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.
Metodología

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

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.

Beneficios para empresas

¿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.
Formación bonificada

¿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.

Requisitos previos

¿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.
Aplicaciones

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.
DatIACode

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.

Preguntas frecuentes

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.

Solicitar información

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.
Modalidad de interés*
Número aproximado de alumnos*

Información básica de protección de datos. Responsable: Datiacode Tech S.L.. Finalidad: atender tu solicitud y, si lo aceptas, enviarte comunicaciones comerciales. Legitimación: consentimiento del interesado y/o medidas precontractuales. Destinatarios: encargados de tratamiento descritos en la política. Derechos: acceso, rectificación, supresión, oposición, limitación y portabilidad escribiendo a privacidad@datiacode.com. Más información en la Política de Privacidad.

  • Ver curso
    Programación30 horas

    Desarrollo backend con Java y Spring Boot

  • Ver curso
    Programación24 horas

    APIs REST con Spring Boot: diseño, seguridad y buenas prácticas

  • Ver curso
    Programación20 horas

    Arquitectura hexagonal y Clean Architecture con Java

Ver todos los cursos