[[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!'));
});