Sobes.tech
Junior

Разкажи за принципа Triple A в тестването (Arrange, Act, Assert).

sobes.tech AI

Отговор от AI

Принципът Triple A (Arrange, Act, Assert) е структуриран подход към писането на модулни тестове, който ги прави по-лесни за разбиране, четене и поддръжка.

  1. Arrange (Подготовка): В този етап се подготвя необходимото състояние на системата или обекта за теста. Инициализират се обекти, задават се начални данни, конфигурират се зависимости.

    • Пример: Създаване на инстанция на клас, настройка на мокове или стабове.
  2. Act (Действие): Тук се изпълнява тестиращото действие или се извиква функционалността, която трябва да бъде проверена. Обикновено е ясен повик или действие.

    • Пример: Вика се метод на обект, изпраща се заявка към API.
  3. Assert (Проверка): В този етап се проверява резултатът от извършеното действие. Сравнява се фактическият резултат с очаквания.

    • Пример: Проверка на върнатата стойност на метода, състоянието на обекта, промените в базата данни.

Пример на C#:

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

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

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

Пример на 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}"

Използването на Triple A помага ясно да се разделят стъпките в теста, което улеснява разбирането какво точно се тества и какъв резултат се очаква. Това опростява отстраняването на грешки и рефакторинга на тестовете.