Разкажи за принципа Triple A в тестването (Arrange, Act, Assert).
sobes.tech AI
Отговор от AI
Принципът Triple A (Arrange, Act, Assert) е структуриран подход към писането на модулни тестове, който ги прави по-лесни за разбиране, четене и поддръжка.
-
Arrange (Подготовка): В този етап се подготвя необходимото състояние на системата или обекта за теста. Инициализират се обекти, задават се начални данни, конфигурират се зависимости.
- Пример: Създаване на инстанция на клас, настройка на мокове или стабове.
-
Act (Действие): Тук се изпълнява тестиращото действие или се извиква функционалността, която трябва да бъде проверена. Обикновено е ясен повик или действие.
- Пример: Вика се метод на обект, изпраща се заявка към API.
-
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 помага ясно да се разделят стъпките в теста, което улеснява разбирането какво точно се тества и какъв резултат се очаква. Това опростява отстраняването на грешки и рефакторинга на тестовете.