Sobes.tech
Junior

Mit csinál a 'is' parancs a tesztelés vagy tesztautomáció kontextusában?

sobes.tech MI

Válasz az MI-től

Az is módszert gyakran használják könyvtárak tesztek vagy assertions írására. Az a célja, hogy ellenőrizze, hogy a tényleges érték megfelel-e a várt értéknek, összehasonlításokat vagy típus/állapot ellenőrzéseket végezve.

Különböző kontextusokban példák:

Assertions könyvtárakban (pl. Chai):

// Adattípus ellenőrzése
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 ellenőrzése
expect(null).to.be.null;
expect(undefined).to.be.undefined;

// Érték hiányának ellenőrzése
expect(null).to.be.not.exists;

// Állapot ellenőrzése
expect(true).to.be.true;
expect(false).to.be.false;

DOM-működtető könyvtárakban (pl. jQuery):

// Ellenőrzés, hogy egy elem megfelel-e egy szelektornak
$('div').is('.active'); // bool
$('input[type="checkbox"]').is(':checked'); // bool

Python egységtesztekben (unittest.TestCase):

# Objektum identitásának ellenőrzése (referencia összehasonlítás)
self.assertIs(a, b)

# Objektumok nem identitásának ellenőrzése
self.assertIsNot(a, b)

# None ellenőrzése
self.assertIsNone(a)

# Nem-None ellenőrzése
self.assertIsNotNone(a)

# True/False ellenőrzése
def assertIsInstance(obj, classinfo)

def assertNotIsInstance(obj, classinfo)

Az is főbb felhasználási forgatókönyvei:

  • Típus ellenőrzése: Biztosítani, hogy egy változó vagy objektum a várt adattípussal rendelkezik.
  • Állapot ellenőrzése: Logikai értékek, értékek jelenléte vagy hiánya (null, undefined) ellenőrzése.
  • Megfelelőség ellenőrzése: DOM kontextusban, ellenőrizni, hogy egy elem megfelel-e bizonyos kritériumoknak (szelektor, állapot).
  • Objektum identitás ellenőrzése: Referenciákat támogató nyelveken, ellenőrizni, hogy két változó ugyanarra az objektumra mutat-e a memóriában.