Junior
Разкажи за принципа Triple A (Arrange, Act, Assert).
sobes.tech AI
Отговор от AI
Принципът Triple A (Arrange, Act, Assert) е модел за организиране на тестовия код, широко използван в единични и интеграционни тестове. Той разделя всеки тест на три логически части:
- Arrange (Подготовка): В тази част се настройва тестовата среда, създават се необходимите обекти, mocks, stubs и се установява тяхното начално състояние. Подготвя се всичко, което е необходимо за изпълнение на действието, което искаме да тестваме.
- Act (Действие): Това е единствената операция, която проверяваме в този тест. Извиква се тестираният метод, функция или компонент.
- Assert (Проверка): В тази част се проверява резултатът от действието. Сравнява се реалният резултат (връщаната стойност, промяната в състоянието на обекта, извикването на друг метод и т.н.) с очаквания резултат. Ако съвпадат, тестът се счита за успешно преминал.
Пример на Python:
# arrange
user = User("Alice")
item = Item("Book", 10)
cart = ShoppingCart(user)
# act
cart.add_item(item)
# assert
assert len(cart.items) == 1
assert cart.items[0].name == "Book"
assert cart.calculate_total() == 10
Този принцип прави тестовете по-лесни за четене, разбиране и поддръжка, тъй като ясно се вижда какво точно се тества и при какви условия.