eedd_ra3_ejemplo3/README.md
Isidoro Nevares Martín ea0e336fd5 README.md
2026-03-10 15:04:28 +01:00

2.2 KiB

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()

Diagrama de pruebas

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);
}