Sobes.tech
Junior

Pověz mi o principu Triple A v testování (Arrange, Act, Assert).

sobes.tech AI

Odpověď od AI

Princip Triple A (Arrange, Act, Assert) je strukturovaný přístup k psaní jednotkových testů, který je činí srozumitelnějšími, čitelnějšími a lépe udržovatelnými.

  1. Arrange (Příprava): V této fázi se připraví potřebný stav systému nebo objektu pro testování. Inicializují se objekty, nastaví se počáteční data, konfiguruje se závislosti.

    • Příklad: Vytvoření instance třídy, nastavení mocků nebo stubů.
  2. Act (Akce): Zde se provádí testovaná akce nebo volá funkčnost, kterou je třeba ověřit. Obvykle jde o jedno jasné volání nebo akci.

    • Příklad: Volání metody objektu, odeslání požadavku na API.
  3. Assert (Ověření): V této fázi se ověřuje výsledek provedené akce. Porovnává se skutečný výsledek s očekávaným.

    • Příklad: Kontrola vrácené hodnoty metody, stavu objektu, změn v databázi.

Pří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);

Příklad v 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}"

Použití principu Triple A pomáhá jasně oddělit kroky v testu, což usnadňuje pochopení, co je testováno a jaký výsledek se očekává. To zjednodušuje ladění a refaktoring testů.