Sobes.tech
Junior

Ի՞նչ է անում 'is' հրամանը թեստավորման կամ ավտոմատացման համատեքստում։

sobes.tech AI

Պատասխան AI-ից

is մեթոդը հաճախ օգտագործվում է գրադարաններում՝ թեստեր կամ assertions գրելու համար: Այն ծառայում է իրական արժեքը համընկնում է սպասվածին, կատարելով համեմատություններ կամ տիպի/պայմանների ստուգումներ:

Տարբեր կոնտեքստներում օգտագործման օրինակներ՝

Assertions գրադարաններում (օրինակ՝ Chai):

// Տվյալների տիպի ստուգում
expect('test').to.be.a('string');
expect(123).to.be.a('number');
expect(true).to.be.a('boolean');
expect({}).to.be.an('object');
expect([]).to.be.an('array');

// Null/undefined ստուգում
expect(null).to.be.null;
expect(undefined).to.be.undefined;

// Արժեքի բացակայության ստուգում
expect(null).to.be.not.exists;

// Կարգավիճակի ստուգում
expect(true).to.be.true;
expect(false).to.be.false;

DOM-ի հետ աշխատող գրադարաններում (օրինակ՝ jQuery):

// Ստուգում, արդյոք տարրն համապատասխանում է սելեկտորին
$('div').is('.active'); // bool
$('input[type="checkbox"]').is(':checked'); // bool

Python-ի միավորային թեստերում (unittest.TestCase):

# Օբյեկտների նույնականության ստուգում (հղման համեմատություն)
self.assertIs(a, b)

# Օբյեկտների ոչ նույնականության ստուգում
self.assertIsNot(a, b)

# None-ի ստուգում
self.assertIsNone(a)

# Non-None-ի ստուգում
self.assertIsNotNone(a)

# True/False-ի ստուգում
def assertIsInstance(obj, classinfo)

def assertNotIsInstance(obj, classinfo)

is-ի հիմնական օգտագործման սցենարները՝

  • Տիպի ստուգում: Համոզվել, որ փոփոխականը կամ օբյեկտը սպասված տվյալների տիպն ունի:

  • Կարգավիճակի ստուգում: Բուլյան արժեքների, արժեքների ներկայության կամ բացակայության ստուգում (null, undefined):

  • Համապատասխանության ստուգում: DOM-ի կոնտեքստում՝ ստուգել, արդյոք տարրն համապատասխանում է որոշակի չափանիշների (սելեկտոր, վիճակ):

  • Օբյեկտների նույնականության ստուգում: Տղաների մեջ, որոնք աջակցում են հղումներին, ստուգել, արդյոք երկու փոփոխականներն էլ հղում են նույն օբյեկտին հիշողության մեջ։