Sobes.tech
Junior

Opowiedz o zasadzie Triple A w testowaniu (Arrange, Act, Assert).

sobes.tech AI

Odpowiedź od AI

Zasada Triple A (Arrange, Act, Assert) to ustrukturalizowane podejście do pisania testów jednostkowych, które czyni je bardziej zrozumiałymi, czytelnymi i łatwymi do utrzymania.

  1. Arrange (Przygotowanie): W tej części testu przygotowuje się niezbędny stan systemu lub obiektu do testowania. Inicjalizuje się obiekty, ustawia dane początkowe, konfiguruje zależności.

    • Przykład: Tworzenie instancji klasy, konfiguracja mocków lub stubów.
  2. Act (Działanie): Tutaj wykonywana jest testowana akcja lub wywoływana funkcjonalność, którą trzeba sprawdzić. Zazwyczaj jest to jedno wyraźne wywołanie lub działanie.

    • Przykład: Wywołanie metody obiektu, wysłanie żądania do API.
  3. Assert (Sprawdzenie): Na tym etapie sprawdzany jest wynik wykonanej akcji. Porównuje się rzeczywisty wynik z oczekiwanym.

    • Przykład: Sprawdzenie zwracanej wartości metody, stanu obiektu, zmian w bazie danych.

Przykład w C#:

// Arrange
var calculator = new Calculator();
int number1 = 5;
int number2 = 3;

// Act
int result = calculator.Add(number1, number2);

// Assert
Assert.AreEqual(8, result);

Przykład w 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}"

Użycie Triple A pomaga wyraźnie rozdzielić kroki w teście, co ułatwia zrozumienie, co jest testowane i jaki wynik jest oczekiwany. To upraszcza debugowanie i refaktoryzację testów.