El patrón AAA es una muy importante y fundamental idea de cómo se realizan pruebas unitarias, la cual sugiere un proceso de 3 pasos para la construcción de una prueba unitaria, así:
Ahora que hemos entendido el concepto veamos un ejemplo práctico de la implementación de este patrón de 3 pasos:
Supongamos que se tiene la clase Calculadora y el método suma, así:
1 2 3 4 5 |
public class Calculadora { public int suma(int numero1, int numero2) { return numero1 + numero2; } } |
Como vemos este método recibe 2 valores como parámetro y retorna su suma. Ahora veamos una prueba unitaria que aplica el patrón AAA:
1 2 3 4 5 6 7 8 9 10 11 12 | @Testvoid sumaTest() { //Arrange int resultado = 0; Calculadora calculadora = new Calculadora(); //Act resultado = calculadora.suma(1,2); //Assert assertEquals(3,resultado); } |
Nótese que el Arrange es la inicialización de la clase Calculadora, el Act es llevarle a la variable resultado lo que devuelva el método suma de la clase Calculadora, y el Assert que es comparar el resultado obtenido en la variable resultado y lo que esperamos obtener.
¿Qué beneficios obtenemos al implementar este patrón?
1. Organización de la prueba
2. Fácil entendimiento de qué hace la prueba
3. Eliminación de duplicidades
4. Separa claramente lo que se está probando
NOTA: Aunque el patrón AAA está orientado para definir la estructura que debería tener una prueba unitaria, esto no quiere decir que no pueda ser aplicado a otro tipo de pruebas automatizadas.