Sobes.tech
Junior

Pověz mi o principu Triple A (Arrange, Act, Assert).

sobes.tech AI

Odpověď od AI

Princip Triple A (Arrange, Act, Assert) je vzor organizace testovacího kódu, který je široce používaný při jednotkových a integračních testech. Rozděluje každý test na tři logické části:

  1. Arrange (Příprava): V této části se nastaví testovací prostředí, vytvoří se potřebné objekty, mocky, stuby a stanoví jejich počáteční stav. Připraví se vše, co je potřeba k provedení akce, kterou chceme otestovat.
  2. Act (Akce): Jedná se o jedinou operaci, kterou v tomto testu kontrolujeme. Volá se testovaná metoda, funkce nebo komponenta.
  3. Assert (Ověření): V této části se ověřuje výsledek akce. Porovnává se skutečný výsledek (návratová hodnota, změna stavu objektu, volání jiné metody atd.) s očekávaným výsledkem. Pokud se shodují, test je považován za úspěšný.

Příklad v Pythonu:

# arrange
user = User("Alice")
item = Item("Book", 10)
cart = ShoppingCart(user)

# act
cart.add_item(item)

# assert
assert len(cart.items) == 1
assert cart.items[0].name == "Book"
assert cart.calculate_total() == 10

Tento princip činí testy čitelnějšími, srozumitelnějšími a snazšími na údržbu, protože je jasně vidět, co přesně se testuje a za jakých podmínek.