Sobes.tech
Junior

Pastāsti par Triple A principu testēšanā (Arrange, Act, Assert).

sobes.tech AI

Atbilde no AI

Triple A princips (Arrange, Act, Assert) ir strukturēts pieejas veids vienību testu rakstīšanai, kas padara tos saprotamākus, lasāmākus un uzturējamākus.

  1. Arrange (Sagatavošana): Šajā posmā tiek sagatavīts nepieciešamais sistēmas vai objekta stāvoklis testēšanai. Objekti tiek inicializēti, iestatīti sākotnējie dati, konfigurētas atkarības.

    • Piemērs: Klases instances izveide, mock vai stub konfigurācija.
  2. Act (Darbība): Šeit tiek veikta testētā darbība vai izsaukta funkcionalitāte, kuru nepieciešams pārbaudīt. Parasti tas ir viens skaidrs izsaukums vai darbība.

    • Piemērs: Objekta metodes izsaukums, pieprasījuma nosūtīšana uz API.
  3. Assert (Pārbaude): Šajā posmā tiek pārbaudīts veiktās darbības rezultāts. Salīdzina faktiskais rezultāts ar gaidīto.

    • Piemērs: Metodes atgrieztās vērtības pārbaude, objekta stāvokļa, izmaiņu datu bāzē pārbaude.

C# piemērs:

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

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

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

Python piemērs:

# 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}"

Triple A izmantošana palīdz skaidri atdalīt soļus testā, kas atvieglo saprašanu par to, kas tieši tiek testēts un kāds rezultāts tiek sagaidīts. Tas vienkāršo kļūdu meklēšanu un testu refaktorēšanu.