Diseño pruebas: JUnit
Buenas prácticas al diseñar pruebas básicas
- Un test → una validación: Cada método @Test valida un solo comportamiento o escenario.
- Nombres descriptivos: Ayudan a saber qué falla si un test no pasa.
- Casos extremos primero: Null, vacío, límites de valores.
- Happy Path: Siempre incluye un caso que debería funcionar correctamente.
- Transformaciones y reglas de negocio: Verifica la lógica de tu código, no solo la sintaxis.
| Tipo de prueba |
Qué valida |
Ejemplo |
| Null |
Manejo de objetos nulos |
casa = null |
| Empty |
Datos vacíos |
nombre="" |
| Happy Path |
Caso correcto |
"Mi casa" |
| Transformación |
Resultado transformado |
"mi casa" → "MI CASA" |
| Regla de negocio |
Validación lógica |
esCasaValida() |

Ejemplo de caso Clase JUnit para realizar la pruebas básicas:
class CasaServiceTest {
@Test
void tieneNombre_conCasaNull_devuelveFalse() {
CasaService service = new CasaService();
boolean resultado = service.tieneNombre(null);
assertFalse(resultado);
}
@Test
void tieneNombre_conNombreVacio_devuelveFalse() {
CasaService service = new CasaService();
Casa casa = new Casa(1, "");
boolean resultado = service.tieneNombre(casa);
assertFalse(resultado);
}
@Test
void tieneNombre_conNombreValido_devuelveTrue() {
CasaService service = new CasaService();
Casa casa = new Casa(1, "Mi casa");
boolean resultado = service.tieneNombre(casa);
assertTrue(resultado);
}
@Test
void obtenerNombreEnMayusculas_devuelveNombreEnMayusculas() {
CasaService service = new CasaService();
Casa casa = new Casa(1, "mi casa");
String resultado = service.obtenerNnombreEnMayusculas(casa);
assertEquals("MI CASA", resultado);
}
@Test
void esCasaValida_conDatosCorrectos_devuelveTrue() {
CasaService service = new CasaService();
Casa casa = new Casa(1, "Casa bonita");
boolean resultado = service.esCasaValida(casa);
assertTrue(resultado);
}