[[oktatas:web:javascript:javascript_teszt:jasmine|< Jasmine]] ====== Jasmine - Függvény tesztelése ====== * **Szerző:** Sallai András * Copyright (c) 2022, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Kezdés ===== Adott egy Node.js projekt: npm init -y Egyetlen állomány van: src/triangle.js app01/ |-src/ | `-triangle.js `-package.json Telepítsük a Jasmine-t: npm install --save-dev jasmine Készítsük fel a projektet a Jasmine használatára: npx jasmine init ===== Ipari kód ===== A triangle fájlban van egy calcArea() függvény, amit szeretnénk tesztelni: export var calcArea = (base, height) =>{ if (base<1 || height <1) { throw new Error('Hiba! A paraméter nem megfelelő'); } return base * height / 2; } ===== Teszt ===== import { calcArea } from '../src/triangle.js'; describe('Háromszög calcArea függvény\n', () => { it('A calcArea függvény létezik', () => { expect(calcArea).not.toBeUndefined(); }); it('A 30, 35 inputra 525.-t ad vissza', () => { let result = calcArea(30, 35); expect(result).toEqual(525.); }); it('A 40, 45 inputra 900.-t ad vissza', () => { let result = calcArea(40, 45); expect(result).toEqual(900.); }); it('Kivételt dob 0 inputra', ()=> { expect(()=> calcArea(0, 35) ) .toThrow(new Error('Hiba! A paraméter nem megfelelő')); }); }); Vegyük észre, hogy a kivételt dobó függvényt egy névtelen függvényben hívjuk. ===== Futtatás ===== npm test