Junior
Meséljen a Triple A elvről a tesztelésben (Arrange, Act, Assert).
sobes.tech MI
Válasz az MI-től
A Triple A elve (Arrange,Act,Assert) segít strukturálni az egységteszteket az olvashatóság és karbantarthatóság növelése érdekében. Minden tesztet három világos fázisra oszt:
-
Arrange (Előkészítés):
- Beállítja a tesztkörnyezetet, inicializálja a szükséges objektumokat, létrehozza a [fixture]-eket, [mock]-okat vagy [stub]-okat a tesztelt komponens izolálásához.
- Meghatározza a bemeneti adatokat a tesztelt függvényhez vagy metódushoz.
-
Act (Cselekvés):
- A fő művelet végrehajtása, amit tesztelni kell.
- Ez lehet a tesztelt metódus hívása vagy egy adott művelet végrehajtása.
-
Assert (Ellenőrzés):
Példa Pythonban a pytest használatával:
# app.py
class Calculator:
def add(self, a, b):
return a + b
# test_calculator.py
import pytest
from app import Calculator
def test_add_positive_numbers():
"""
Két pozitív szám összeadásának tesztje.
"""
# Arrange
calculator = Calculator()
num1 = 5
num2 = 3
expected_result = 8
# Act
actual_result = calculator.add(num1, num2)
# Assert
assert actual_result == expected_result, f"Expected {expected_result}, but got {actual_result}"
def test_add_negative_numbers():
"""
Két negatív szám összeadásának tesztje.
"""
# Arrange
calculator = Calculator()
num1 = -5
num2 = -3
expected_result = -8
# Act
actual_result = calculator.add(num1, num2)
# Assert
assert actual_result == expected_result, f"Expected {expected_result}, but got {actual_result}"
A Triple A használatának előnyei:
- Olvashatóság: A teszt szerkezete könnyebben érthető, ami megkönnyíti az olvasását és megértését.
- Karban tarthatóság: A világos fázisokra bontás egyszerűsíti a változtatásokat és a hibák javítását a tesztekben.
- Fókusz: Minden fázis a saját feladatára koncentrál, ami segít célzottabb tesztek írásában.
- Szabványosítás: A Triple A bevezetése a csapatban egységességet eredményez a tesztek írásában.