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.
-
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.
-
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.
-
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.