Junior
Co dělá příkaz 'is' v kontextu testování nebo automatizace testů?
sobes.tech AI
Odpověď od AI
Metoda is se často používá v knihovnách pro psaní testů nebo assertions. Slouží k ověření, zda aktuální hodnota odpovídá očekávané, prováděním porovnání nebo kontroly typu/stavu.
Příklady použití v různých kontextech:
V knihovnách assertion (například Chai):
// Kontrola typu dat
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 na nepřítomnost hodnoty
expect(null).to.be.not.exists;
// Kontrola stavu
expect(true).to.be.true;
expect(false).to.be.false;
V knihovnách pro práci s DOM (například jQuery):
// Kontrola, zda prvek odpovídá selektoru
$('div').is('.active'); // bool
$('input[type="checkbox"]').is(':checked'); // bool
V jednotkových testech pro Python (unittest.TestCase):
# Kontrola identity objektů (porovnání odkazů)
self.assertIs(a, b)
# Kontrola neidentity objektů
self.assertIsNot(a, b)
# Kontrola na None
self.assertIsNone(a)
# Kontrola na nenull
self.assertIsNotNone(a)
# Kontrola True/False
def assertIsInstance(obj, classinfo)
def assertNotIsInstance(obj, classinfo)
Hlavní scénáře použití is:
- Kontrola typu: Ujistit se, že proměnná nebo objekt mají očekávaný datový typ.
- Kontrola stavu: Ověření booleovských hodnot, přítomnosti nebo nepřítomnosti hodnot (null, undefined).
- Kontrola shody: V kontextu DOM, ověřit, zda prvek odpovídá určitým kritériím (selektor, stav).
- Kontrola identity objektů: V jazycích podporujících odkazy, ověřit, zda dvě proměnné odkazují na stejný objekt v paměti.