Sobes.tech
Junior

Parla del principio Triple A nei test (Arrange, Act, Assert).

sobes.tech AI

Risposta dell'AI

Il principio Triple A (Arrange, Act, Assert) è un approccio strutturato alla scrittura di test unitari che li rende più comprensibili, leggibili e manutenibili.

  1. Arrange (Preparare): In questa fase, si prepara lo stato necessario del sistema o dell'oggetto per il test. Si inizializzano gli oggetti, si impostano i dati iniziali, si configurano le dipendenze.

    • Esempio: Creare un'istanza di una classe, configurare mock o stubs.
  2. Act (Agire): Qui si esegue l'azione da testare o si chiama la funzionalità da verificare. Di solito, è una chiamata o un'azione chiara.

    • Esempio: Chiamare un metodo dell'oggetto, inviare una richiesta a un'API.
  3. Assert (Verificare): In questa fase, si verifica il risultato dell'azione eseguita. Si confronta il risultato reale con quello atteso.

    • Esempio: Verificare il valore restituito da un metodo, lo stato dell'oggetto, le modifiche nel database.

Esempio in C#:

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

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

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

Esempio in 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}"

L'uso del Triple A aiuta a dividere chiaramente i passaggi nel test, facilitando la comprensione di cosa viene testato e quale risultato ci si aspetta. Questo semplifica il debug e il refactoring dei test.