Junior
Дар бораи принсипи Triple A дар санҷишҳо гӯед (Arrange, Act, Assert).
sobes.tech AI
Ҷавоб аз AI
Принципи Triple A (Arrange,Act,Assert) кӯмак мекунад, ки одит тестҳо барои беҳтар кардани хонданӣ ва нигоҳдории онҳо. Он ҳар як тестро ба се марҳилаи равшан тақсим мекунад:
-
Arrange (Тайёрӣ):
-
Act (Ҳаракат):
- Ҳаракати асосиро иҷро мекунад, ки бояд санҷида шавад.
- Ин метавонад даъвати усули санҷидашаванда ё иҷрои амали муайян бошад.
-
Assert (Тасдиқ):
- Натиҷаи амали санҷидашударо санҷида мешавад.
- Натиҷаи интизориро бо натиҷаи воқеӣ муқоиса мекунад.
- Методи тасдиқ (assertions) аз рамзи тест (масалан, JUnit, NUnit, pytest) барои санҷиши шароитҳо истифода мешаванд.
Масалан дар Python бо истифодаи pytest:
# 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():
"""
Тести ҷамъ кардани ду адади мусбӣ.
"""
# 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():
"""
Тести ҷамъ кардани ду адади манфӣ.
"""
# 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:
- Хонданӣ: Сохтор кардани тест ба назар содда ва фаҳмо мешавад, ки хондан ва фаҳмидани онро осон мекунад.
- Дастгирӣ: Фазаҳоро равшан ҷудо кардан, тағирот ва ислоҳоти хатогиҳоро осон мекунад.
- Масофа: Ҳар як фаза ба вазифаи худ тамаркуз мекунад, ки кӯмак мекунад, ки тестҳои бештар ҳадафнок нависанд.
- Стандартикунонии: Внедр кардани Triple A дар гурӯҳ ба якхелаии навишти тестҳо мусоидат мекунад.