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