[[oktatas:web:javascript:javascript_teszt:jasmine|< Jasmine]] ====== Jasmine - Hibakezelés tesztelése ====== * **Szerző:** Sallai András * Copyright (c) 2023, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Tesztelendő függvény ===== Legyen egy checkInput() nevű függvény, ami bemenetet teszteli. Helytelen bemenet esetén hibával le kell állnia. Ezt az if() utasítás biztosítja, a benne található throw new Error() kifejezéssel. function checkInput(input) { if(input<1) { throw new Error('Hiba! 1-nél kisebb érték!') } let res = input.match(/^[0-9]+$/); return res; } ===== Kivétel megkövetelése ===== Az expect() számára egy névtelen függvényt adunk át, amiben helytelen adattal meghívjuk a checkInput() függvényt. it('Hibát dob ha kisebb 1-nél az éréték?', () => { expect(() => { checkInput('-3') }).toThrow(); }); A hibaüzenet bármi lehet, nincs megkövetelve, mi legyen. ===== Adott szöveg megkövetelése ===== Nem csak leállást hibával, de a konkrét szöveget is megkövetelhetjük. Elsőként használjuk a toThrowError() függvényt: it('Megadott hibát dob 0 vagy kisebb érték esetén?', () => { expect(() => { checkInput('-3') }).toThrowError('Hiba! 0 vagy kisebb érték!'); }); A toThrow() függvénnyel: it('Megadott hibát dob 0 vagy kisebb érték esetén?', () => { expect(() => { checkInput('-3') }).toThrow(new Error('Hiba! 0 vagy kisebb érték!')); });