74 lines
2.2 KiB
Markdown
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()` |
|
|
|
|
|
|

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