Sobes.tech
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) modul yazma üçün strukturlaşdırılmış yanaşmadır və onu daha anlaşılan, oxunaqlı və saxlanması asan edir.

  1. Arrange (Hazırlıq): Bu mərhələdə test üçün lazım olan sistem və ya obyektin vəziyyəti hazırlanır. Obyektlər yaradılır, ilkin məlumatlar qurulur, asılılıqlar konfiqurasiya edilir.

    • Nümunə: Sinifin nümunəsini yaratmaq, mock və ya stub-ları qurmaq.
  2. Act (Hərəkət): Burada, test ediləcək hərəkət yerinə yetirilir və ya yoxlanılacaq funksionallıq çağırılır. Adətən, bu, aydın bir çağırış və ya hərəkətdir.

    • Nümunə: Obyektin metodunu çağırmaq, API-ə sorğu göndərmək.
  3. Assert (Təsdiqləmə): Bu mərhələdə, yerinə yetirilmiş hərəkətin nəticəsi yoxlanılır. Faktiki nəticə gözlənilənlə müqayisə edilir.

    • Nümunə: Metodun qaytardığı dəyəri, obyektin vəziyyətini, verilənlər bazasında dəyişiklikləri yoxlamaq.

C# nümunəsi:

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

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

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

Python nümunəsi:

# 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 istifadə etmək, testdəki addımları aydın şəkildə ayırmağa kömək edir, bu da nə test olunduğunu və hansı nəticənin gözlənildiyini anlamağı asanlaşdırır. Bu, səhvlərin tapılmasını və testlərin yenidən qurulmasını sadələşdirir.