Junior
Պատմեք մեզ Triple A սկզբունքի մասին թեստավորման մեջ (Arrange, Act, Assert).
sobes.tech AI
Պատասխան AI-ից
Համաձայնեցված սկզբունք Triple A (Arrange,Act,Assert) օգնում է կառուցել միավորային թեստերը ավելի ընթեռնելի և պահպանելի դարձնելու համար: Այն բաժանում է յուրաքանչյուր թեստը երեք հստակ փուլերի.
-
Arrange (Պատրաստում):
- Կարգավորում է թեստային միջավայրը, սկզբնավորում անհրաժեշտ օբյեկտները, ստեղծում է фикստուրներ, մոկ կամ ստաբ՝ թեստավորող բաղադրիչը մեկուսացնելու համար:
- Նշում է մուտքային տվյալները թեստավորող ֆունկցիայի կամ մեթոդի համար:
-
Act (Գործողություն):
- Կատարվում է հիմնական գործողությունը, որը պետք է թեստավորվի:
- Դա կարող է լինել թեստավորող մեթոդի կանչ կամ որոշակի օպերացիայի կատարում:
-
Assert (Հաստատում):
- Ստուգվում է գործողության արդյունքը:
- Համեմատվում է սպասվող արդյունքը իրական արդյունքի հետ:
- Օգտագործվում են թեստի շրջանակի (օրինակ, 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
սպասվող արդյունք = 8
# Act
իրական արդյունք = calculator.add(num1, num2)
# Assert
assert իրական արդյունք == սպասվող արդյունք, f"Անկախ {սպասվող արդյունք}, բայց ստացանք {իրական արդյունք}"
def test_add_negative_numbers():
"""
Երկու բացասական թվերի գումարի թեստ:
"""
# Arrange
calculator = Calculator()
num1 = -5
num2 = -3
սպասվող արդյունք = -8
# Act
իրական արդյունք = calculator.add(num1, num2)
# Assert
assert իրական արդյունք == սպասվող արդյունք, f"Անկախ {սպասվող արդյունք}, բայց ստացանք {իրական արդյունք}"
Առավելություններ Triple A- ի օգտագործման:
- Կարդալություն: Թեստի կառուցվածքը ավելի պարզ է և հեշտ է հասկանալ:
- Պահպանելիություն: Հստակ բաժանումը հեշտացնում է փոփոխություններ և սխալների ուղղումներ:
- Կենտրոնացում: Ամեն մի փուլ կենտրոնացած է իր կոնկրետ գործառույթի վրա:
- Ստանդարտացում: Triple A- ի ներդրումը թիմում ապահովում է միատարրություն: