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...