2. El Patrón AAA: Orden en tus Tests
¿Qué es el patrón AAA?
Para que un test sea legible y profesional, seguimos tres pasos claros, como si fuera una receta de cocina:
- Arrange (Preparar): En esta fase inicializamos los objetos, variables y datos que necesitamos para el test.
- Act (Actuar): Aquí ejecutamos la lógica que realmente queremos probar (normalmente llamamos a un solo método).
- Assert (Aseverar): Comprobamos que el resultado que nos dio el paso anterior es el que esperábamos.
Patrón AAA en acción
JAVA
1 @Test
2 void testCalculoDescuento() {
3 // 1. Arrange (Preparar)
4 Producto p = new Producto("Zapatilla", 100.0);
5 double descuento = 20.0;
6
7 // 2. Act (Actuar)
8 double resultado = p.aplicarDescuento(descuento);
9
10 // 3. Assert (Aseverar)
11 assertEquals(80.0, resultado, "El descuento no se aplicó bien");
12 }
👨💻 Ejercicio Práctico 1
Misión: Preparando el test
Escribe la fase Arrange para un test que use un objeto de tipo Usuario llamado "Paco" con 30 años.
👁️ Ver solución propuesta
Código
JAVA
1 Usuario user = new Usuario("Paco", 30);
👨💻 Ejercicio Práctico 2
Misión: Completando las 3 A
Dado un objeto Sumador s = new Sumador() en Arrange, invoca a s.duplicar(5) en Act y comprueba que dio 10 en Assert.
👁️ Ver solución propuesta
Código
JAVA
1 @Test
2 void testDuplicar() {
3 Sumador s = new Sumador(); // Arrange
4 int result = s.duplicar(5); // Act
5 assertEquals(10, result); // Assert
6 }
Ponte a prueba
Domina el orden y dominarás el código.