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