Sobes.tech
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.