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

74 lines
2.2 KiB
Markdown

# 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](img/diagrama-pruebas.png)
## 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);
}