Café y Código

6. Lógica de Negocio: Todos los Caminos

Caminos de Ejecución

En el mundo real, no basta con un solo test. Debemos probar cada if, cada else y cada condición límite (Boundary Case). Si nuestro método puedeVotar(int edad) tiene un if (edad >= 18), ¡debemos probar con 17, 18 y 19 años!

Probando un método con condicionales
JAVA
1 @Test
2 void testPuedeVotar() {
3 Validador v = new Validador();
4
5 // Probamos el borde exacto (18) -> TRUE
6 assertTrue(v.puedeVotar(18), "Fallo con 18 exactos");
7
8 // Probamos uno menos (17) -> FALSE
9 assertFalse(v.puedeVotar(17), "Debería ser falso con 17");
10
11 // Probamos uno extremo (100) -> TRUE
12 assertTrue(v.puedeVotar(100));
13 }

👨‍💻 Ejercicio Práctico 1

Misión: El descuento perfecto

Si un método aplicarDescuento(int cant) solo descuenta el 10% si cant > 5, crea los tests para cant = 5 y cant = 6.

👁️ Ver solución propuesta
JAVA
1 @Test
2 void testDescuentoCaminos() {
3 Carrito c = new Carrito();
4 // No debería aplicar con 5 (es el límite)
5 assertFalse(c.aplicarDescuento(5));
6 // Sí aplica con 6
7 assertTrue(c.aplicarDescuento(6));
8 }

👨‍💻 Ejercicio Práctico 2

Misión: Loops e Inventario

Escribe un test que use un ArrayList<String> items = new ArrayList<>() vacío y compruebe que items.size() es 0 antes de añadirle algo.

👁️ Ver solución propuesta
JAVA
1 @Test
2 void testListaVacia() {
3 ArrayList<String> lista = new ArrayList<>();
4 assertEquals(0, lista.size());
5 }

Ponte a prueba

Asegúrate de cubrir cada rincón de tu código.

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.