Sobes.tech
Junior

Cuéntame sobre el principio Triple A en las pruebas (Arrange, Act, Assert).

sobes.tech AI

Respuesta de la IA

El principio Triple A (Arrange, Act, Assert) es un enfoque estructurado para escribir pruebas unitarias que las hace más comprensibles, legibles y mantenibles.

  1. Arrange (Preparar): En esta sección de la prueba, se prepara el estado necesario del sistema o del objeto para la prueba. Se inicializan objetos, se establecen datos iniciales, se configuran dependencias.

    • Ejemplo: Crear una instancia de una clase, configurar mocks o stubs.
  2. Act (Actuar): Aquí se realiza la acción que se va a probar o se llama a la funcionalidad que se debe verificar. Generalmente, es una llamada o acción clara.

    • Ejemplo: Llamar a un método del objeto, enviar una solicitud a una API.
  3. Assert (Afirmar): En esta etapa, se verifica el resultado de la acción realizada. Se compara el resultado real con el esperado.

    • Ejemplo: Verificar el valor devuelto por un método, el estado del objeto, cambios en la base de datos.

Ejemplo en C#:

// Arrange
var calculator = new Calculator();
int number1 = 5;
int number2 = 3;

// Act
int result = calculator.Add(number1, number2);

// Assert
Assert.AreEqual(8, result);

Ejemplo en Python:

# Arrange
class Calculator:
    def add(self, a, b):
        return a + b

calc = Calculator()
num1 = 5
num2 = 3

# Act
result = calc.add(num1, num2)

# Assert
assert result == 8, f"Expected 8, but got {result}"

El uso de Triple A ayuda a dividir claramente los pasos en la prueba, lo que facilita entender qué se está probando y qué resultado se espera. Esto simplifica la depuración y la refactorización de las pruebas.