[[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