Codigo limpio y refactorización
El acrónimo FIRST describe las características que deben tener las pruebas unitarias:
- F: Rápidas (Fast): Los tests deben ejecutarse rápidamente.
- I: Independientes (Independent): Los tests no deben depender unos de otros.
- R: Repetibles (Repeatable): Deben dar siempre el mismo resultado, sin importar el entorno.
- S: Autovalidables (Self-validating): Los tests deben pasar o fallar automáticamente, sin intervención manual.
- T: Oportunos (Timely): Se deben escribir a tiempo, preferiblemente antes del código que prueban (Test Driven Development - TDD).
Código Malo
1// La función no es fácilmente testeable, y no incorpora test 2public int sumar(int a, int b) { 3 int r = a + b; 4 System.out.println("La suma es: " + r); 5}
Problema: Estos tests no son autovalidables; necesitan intervención manual para verificar el resultado. Los test no son independientes.
Solución: Modifica la función aplicando código limpio, los tests son ahora rápidos, independientes y autovalidables, cumpliendo con FIRST.
Código Bueno
1public static int sumar(int a, int b) { 2 return a + b; 3} 4 5@Test 6public void testSumar() { 7 assertEquals(5, sumar(2, 3)); 8}
- Loading...