Sobes.tech
Junior

Čo robí príkaz 'is' v kontexte testovania alebo automatizácie testov?

sobes.tech AI

Odpoveď od AI

Metóda is sa často používa v knižniciach na písanie testov alebo assertions. Slúži na overenie, či aktuálna hodnota zodpovedá očakávanej, vykonávaním porovnaní alebo kontrol typu/stavu.

Príklady použitia v rôznych kontextoch:

V knižniciach assertion (napríklad Chai):

// Kontrola typu dát
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');

// Kontrola na null/undefined
expect(null).to.be.null;
expect(undefined).to.be.undefined;

// Kontrola neprítomnosti hodnoty
expect(null).to.be.not.exists;

// Kontrola stavu
expect(true).to.be.true;
expect(false).to.be.false;

V knižniciach na prácu s DOM (napríklad jQuery):

// Kontrola, či prvok zodpovedá selektoru
$('div').is('.active'); // bool
$('input[type="checkbox"]').is(':checked'); // bool

V unit testoch pre Python (unittest.TestCase):

# Kontrola identity objektov (porovnanie odkazov)
self.assertIs(a, b)

# Kontrola neidentity objektov
self.assertIsNot(a, b)

# Kontrola na None
self.assertIsNone(a)

# Kontrola na non-None
self.assertIsNotNone(a)

# Kontrola True/False
def assertIsInstance(obj, classinfo)

def assertNotIsInstance(obj, classinfo)

Hlavné scenáre použitia is:

  • Kontrola typu: Uistiť sa, že premenná alebo objekt majú očakávaný dátový typ.
  • Kontrola stavu: Overiť boolean hodnoty, prítomnosť alebo neprítomnosť hodnôt (null, undefined).
  • Kontrola zhody: V kontexte DOM, overiť, či prvok spĺňa určité kritériá (selektor, stav).
  • Kontrola identity objektov: V jazykoch, ktoré podporujú referencie, overiť, či dve premenné odkazujú na ten istý objekt v pamäti.