A Jest egy JavaScript tesztelő keretrendszer, ami az egyszerűségre törekszik.
Webhely:
npm install --save-dev jest
"scripts": { "test": "jest", },
ECMAScript modulok esetén:
"type": "module", "scripts": { "test": "node --experimental-vm-modules node_modules/.bin/jest", },
Tetszőleges könyvtárban hozzunk létre egy .spec.js vagy egy .test.js kiterjesztésű fájlt. A könyvtár neve célszerűen lehet test
projekt01/ `-test/ `-valami.spec.js
projekt01/ `-test/ `-valami.test.js
A .spec.js és a .test.js kiterjesztésű fájlt a jest megtalálja.
A másik lehetőség, hogy egy tests nevű könyvtárba rakjuk a teszteket. Így nem szükséges a spec.js kiterjesztés, elég a js.
projekt01/ `-__tests__/ `-valami.js
Kezdetnek legyen egy teszt, ami 1-t vár és egyet is kap.
it('works', () => { expect(1).toBe(1); });
Legyen egy sum.js nevű fájl.
function sum(num1, num2) { return num1 + num2; } module.exports = sum;
const sum = require('./sum'); test('összeadás: 2 + 3 = 5', () => { expect(sum(2, 3)).toBe(5); });
import { Triangle } from "../src/js/triangle"; it('30, 35-re 525.0 működik', () => { const tri = new Triangle(); expect(tri.calcArea(30, 35)).toBe(525.0); }) it('A calcArea() létezik', () => { const tri = new Triangle(); expect(tri.calcArea()).toBeDefined(); }) it('Az area tulajdonság létezik', () => { const tri = new Triangle(); expect(tri.area).toBeDefined(); })
Ha tettünk bejegyzést a package.json fájl scripts szakaszába, a futtatás:
npm test
A teszteket egy describe() függvénnyel csoportosíthatjuk. Első paramétere egy string, második paraméterek egy visszahívó függvény (callback).
describe("Artimetika", () => { test("Valami név", () => { // ide jön a teszt }); });
yarn add --dev jest yarn add --dev babel-jest yarn add --dev @babel/preset-env
Részlet a package.json fájlból:
"type": "module", "scripts": { "test": "jest", }, "jest": { "transform": { "^.+\\.js?$": "babel-jest" } },
Készítsünk egy .babelrc nevű fájlt a következő tartalommal:
{ "presets": ["@babel/preset-env"] }