Skip to content

Latest commit

 

History

History
56 lines (43 loc) · 1.63 KB

05_Primer_test_refactorizacion.md

File metadata and controls

56 lines (43 loc) · 1.63 KB

#Paso 3 del algoritmo: refactorización

En este paso a veces no hay nada que hacer, a veces sí. Depende del estado del código y también de la experiencia de los programadores para detectar necesidades de refactorización.

En la clase Cuenta no hay nada que refactorizar. Son las 3 líneas que el test necesita: el nombre de la clase, el nombre del método y que devuelva 0. Ya nos encontraremos situaciones en las que haya que refactorizar el código.

public class Cuenta {

    public int getSaldo() {
        return 0;
    }
}

Y el test (no olvidemos que los test también se deben refactorizar) tampoco parece que se preste.

@Test
public function alCrearCuentaElSaldoEsCero()
{
    Cuenta c = new Cuenta();
    assertEqual(0, $c->getSaldo());
}

Pero al crear el archivo y la clase EjemploTDDTest les puse ese nombre porque no tenía ni idea todavía de qué elementos iban a testear y cómo se iban a llamar dichos elementos. Ahora ya sé que este archivo va a contener tests sobre las funcionalidades de la clase Cuenta así que para seguir buenas prácticas relativas a la organización de los test de mi aplicación, voy a cambiar el nombre de la clase por CuentaTest y por consiguiente, el nombre del archivo por CuentaTest.php.

También puedo empezar a decidir en qué paquetes meto los archivos.

@Test
public function alCrearCuentaElSaldoEsCero()
{
    Cuenta c = new Cuenta();
    assertEqual(0, $c->getSaldo());
}

He refactorizado. Tengo que asegurarme de que no he roto nada. Vuelvo a ejecutar los tests.

OK (1 test, 1 assertion)

Perfecto. Hemos acabado con el primer test. Pasemos al segundo.