Sobes.tech
Junior

Papaskink apie Triple A principą testavime (Arrange, Act, Assert).

sobes.tech AI

Atsakymas iš AI

Triple A principas (Arrange, Act, Assert) yra struktūruotas požiūris rašyti vienetinius testus, kuris juos daro suprantamesnius, skaitomesnius ir lengviau prižiūrimus.

  1. Arrange (Paruošimas): Šioje dalyje paruošiama reikalinga sistemos arba objekto būsena testavimui. Inicijuojami objektai, nustatomos pradinės reikšmės, konfigūruojamos priklausomybės.

    • Pavyzdys: Klasės instancijos kūrimas, mock'ų ar stub'ų nustatymas.
  2. Act (Veiksmas): Čia atliekamas testuojamas veiksmas arba kviečiama funkcionalumas, kurį reikia patikrinti. Paprastai tai yra vienas aiškus iškvietimas ar veiksmas.

    • Pavyzdys: Objekto metodo iškvietimas, užklausos siuntimas į API.
  3. Assert (Patvirtinimas): Šiame etape tikrinamas atlikto veiksmo rezultatas. Lyginamas faktinis rezultatas su laukiamu.

    • Pavyzdys: Metodų grąžintos reikšmės tikrinimas, objekto būsenos, pakeitimų duomenų bazėje patikrinimas.

C# pavyzdys:

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

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

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

Python pavyzdys:

# 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}"

Triple A naudojimas padeda aiškiai atskirti žingsnius teste, kas palengvina suprasti, kas tikrinama ir kokia tikėtina rezultatas. Tai supaprastina klaidų paiešką ir testų refaktoringą.