Sobes.tech
Junior

Ispričaj o principu Triple A u testiranju (Arrange, Act, Assert).

sobes.tech АИ

Одговор од АИ

Princip Triple A (Arrange, Act, Assert) je strukturirani pristup pisanju jedinica testova koji ih čini razumljivijim, čitljivijim i lakšim za održavanje.

  1. Arrange (Priprema): U ovom delu priprema se neophodno stanje sistema ili objekta za testiranje. Inicijalizuju se objekti, postavljaju početni podaci, konfigurišu zavisnosti.

    • Primer: Kreiranje instance klase, podešavanje mock-ova ili stubova.
  2. Act (Akcija): Ovde se izvršava testirana akcija ili poziva funkcionalnost koja se proverava. Obično je to jedan jasan poziv ili radnja.

    • Primer: Pozivanje metode objekta, slanje zahteva API-ju.
  3. Assert (Provera): U ovom koraku proverava se rezultat izvršene radnje. Upoređuje se stvarni rezultat sa očekivanim.

    • Primer: Provera vraćene vrednosti metode, stanja objekta, promena u bazi podataka.

Primer u C#:

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

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

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

Primer u 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}"

Korišćenje Triple A pomaže jasno razdvajanje koraka u testu, što olakšava razumevanje šta se tačno testira i koji rezultat se očekuje. Ovo pojednostavljuje otklanjanje grešaka i refaktorisanje testova.