Junior
Ispričajte nam o principu Triple A u testiranju (Arrange, Act, Assert).
sobes.tech АИ
Одговор од АИ
Принцип Triple A (Arrange,Act,Assert) pomaže strukturirati jedinične testove za poboljšanje njihove čitljivosti i održivosti. On deli svaki test na tri jasne faze:
-
Arrange (Priprema):
-
Act (Akcija):
- Izvršava glavnu akciju koja treba biti testirana.
- To može biti poziv testirane metode ili izvršenje određene operacije.
-
Assert (Provera):
- Proverava rezultat izvršene akcije.
- Upoređuje očekivani rezultat sa stvarnim.
- Koriste se metode tvrđenja (assertions) iz test okvira (na primer JUnit, NUnit, pytest).
Primer u Pythonu sa korišćenjem pytest:
# 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():
"""
Test sabiranja dva pozitivna broja.
"""
# 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():
"""
Test sabiranja dva negativna broja.
"""
# 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}"
Prednosti korišćenja Triple A:
- Čitljivost: Struktura testa postaje jasnija, što olakšava njegovo čitanje i razumevanje.
- Održavanje: Jasno razdvajanje faza olakšava pravljenje promena i ispravki grešaka u testovima.
- Fokus: Svaka faza se fokusira na svoj konkretan zadatak, što pomaže u pisanju ciljnih testova.
- Standardizacija: Uvođenje Triple A u tim doprinosi jedinstvu u pisanju testova.