Sobes.tech
Junior

Povedz mi o princípe Triple A v testovaní (Arrange, Act, Assert).

sobes.tech AI

Odpoveď od AI

Princíp Triple A (Arrange, Act, Assert) je štruktúrovaný prístup k písaniu jednotkových testov, ktorý ich robí zrozumiteľnejšími, čitateľnejšími a ľahšie udržiavateľnými.

  1. Arrange (Príprava): V tejto fáze sa pripraví potrebný stav systému alebo objektu na testovanie. Inicializujú sa objekty, nastavujú sa počiatočné údaje, konfiguruje sa závislosti.

    • Príklad: Vytvorenie inštancie triedy, nastavenie mockov alebo stubov.
  2. Act (Akcia): Tu sa vykoná testovaná akcia alebo sa zavolá funkčnosť, ktorú je potrebné overiť. Zvyčajne ide o jedno jasné volanie alebo akciu.

    • Príklad: Zavolať metódu objektu, odoslať požiadavku na API.
  3. Assert (Overenie): V tejto fáze sa overí výsledok vykonanej akcie. Porovná sa skutočný výsledok s očakávaným.

    • Príklad: Kontrola vrátenej hodnoty metódy, stavu objektu, zmien v databáze.

Príklad v C#:

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

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

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

Príklad v Pythone:

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

Použitie Triple A pomáha jasne oddeliť kroky v teste, čo uľahčuje pochopenie, čo sa testuje a aký výsledok sa očakáva. To zjednodušuje ladenie a refaktorovanie testov.