2. Patrón AAA (Arrange, Act, Assert)
Tres pasos
- Arrange: preparás datos, objetos o dependencias.
- Act: ejecutás una acción que querés verificar (una llamada a función suele bastar).
- Assert: comprobás el resultado o efecto observado.
test_descuento.py
PYTHON
1 def aplicar_descuento(precio: float, porcentaje: float) -> float:
2 return precio * (1 - porcentaje / 100)
3
4 def test_descuento_del_20():
5 # Arrange
6 precio = 100.0
7 pct = 20.0
8 # Act
9 resultado = aplicar_descuento(precio, pct)
10 # Assert
11 assert resultado == 80.0
Ejercicio 1
Misión: Etiquetar fases
En un comentario por línea, marcá Arrange / Act / Assert en un test que cree una lista [1, 2], llame a sum() y compare con 3.
Ver solución propuesta
Código
PYTHON
1 def test_suma_lista():
2 nums = [1, 2] # Arrange
3 total = sum(nums) # Act
4 assert total == 3 # Assert
Ejercicio 2
Misión: Un solo Act
Explicá en una frase por qué conviene que Act suela ser una sola llamada o expresión enfocada.
Ver idea guía
Así, si el test falla, sabés exactamente qué comportamiento estabas ejercitando; mezclar varias acciones en Act vuelve el fallo ambiguo.