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.