Junior
Testdə Triple A prinsipindən danışın (Arrange, Act, Assert).
sobes.tech Süni İntellekt
AI-dan cavab
Triple A prinsipi (Arrange,Act,Assert) birlik testlərini daha oxunaqlı və saxlanması asan etmək üçün strukturlaşdırmağa kömək edir. Hər testi üç aydın mərhələyə bölür:
-
Arrange (Hazırlıq):
-
Act (Hərəkət):
- Əsas hərəkət həyata keçirilir, bu test olunan metodun çağırılması və ya müəyyən bir əməliyyatın yerinə yetirilməsi ola bilər.
-
Assert (Təsdiqləmə):
- Hərəkətin nəticəsi yoxlanılır.
- Gözlənilən nəticə faktiki ilə müqayisə edilir.
- Test çərçivəsindən (məsələn, JUnit, NUnit, pytest) istifadə edilərək şərtlər yoxlanılır.
Python ilə pytest nümunəsi:
# app.py
class Calculator:
def add(self, a, b):
return a + b
# test_calculator.py
import pytest
from app import Calculator
def test_add_positive_numbers():
"""
İki müsbət ədədin cəmini test edir.
"""
# Arrange
calculator = Calculator()
num1 = 5
num2 = 3
expected_result = 8
# Act
actual_result = calculator.add(num1, num2)
# Assert
assert actual_result == expected_result, f"Expected {expected_result}, but got {actual_result}"
def test_add_negative_numbers():
"""
İki mənfi ədədin cəmini test edir.
"""
# Arrange
calculator = Calculator()
num1 = -5
num2 = -3
expected_result = -8
# Act
actual_result = calculator.add(num1, num2)
# Assert
assert actual_result == expected_result, f"Expected {expected_result}, but got {actual_result}"
Triple A istifadə etməyin üstünlükləri:
- Oxunaqlıq: Testin quruluşu daha aydın olur, bu da onun oxunmasını və başa düşülməsini asanlaşdırır.
- Davamlılıq: Aşamalar arasındakı aydın bölünmə testlərin dəyişdirilməsini və səhvlərin düzəldilməsini sadələşdirir.
- Diqqət: Hər mərhələ öz vəzifəsinə yönəlib, daha məqsədyönlü testlər yazmağa kömək edir.
- Standartlaşdırma: Komanda daxilində Triple A-nın tətbiqi testlərin yazılmasında vahidliyi təşviq edir.