Tekintse meg ezeket a kategóriájában legjobb csomagokat, hogy megkapja a Node által kínált legjobb tesztelési funkciókat.
A tesztelés minden szoftverfejlesztési folyamat fontos része, mivel a kóddal kapcsolatos problémákat és biztonsági réseket a szállítás előtt azonosítja.
A Node.js ökoszisztéma számos tesztelési csomagot kínál, amelyek segítenek az alkalmazások megbízhatóságának, minőségének és teljesítményének biztosításában. Itt felfedezheti a Node.js ökoszisztéma négy legjobb tesztelési csomagját.
A Jest egy tesztelési keretrendszer, amely könnyen használható és átfogó tesztelési megoldást kínál JavaScript kódbázisokhoz. A Meta által fejlesztett Jest olyan funkciókat kínál, mint a párhuzamos tesztvégrehajtás, kódlefedettség, beépített megfelelőek az állításokhoz, a gúnyolódáshoz és a pillanatfelvételek teszteléséhez, így ez egy hatékony és sokoldalú tesztelés keretrendszer.
A Jest az alábbi parancs futtatásával telepítheti:
npm install --save-dev jest
Íme egy példa, amely bemutatja tesztelés Jesttel egy függvényhez, amely ellenőrzi, hogy egy szám páratlan-e:
leír("egyetlen", () => {
teszt("páratlan szám bevitelére igazat ad vissza", () => {
várni (isOdd(3)).lenni(igaz);
});teszt("hamis értéket ad vissza páros számra", () => {
várni (isOdd(2)).lenni(hamis);
});teszt("hibát dob a nem egész számok bevitele esetén", () => {
várni (() => {
isOdd(3.5);
}).dobni("A bemenet nem egész szám");
});
teszt("hibát dob a nem numerikus bevitelnél", () => {
várni (() => {
isOdd("3");
}).dobni("A bevitel nem szám");
});
});
A fenti tesztcsomag futtatásakor a Jest minden egyes tesztet végrehajt, és összehasonlítja a függvény kimenetét a várt értékkel a elvárják funkció és a lenni és dobni matchers. Ha a kimenet nem a vártnak felel meg, a Jest sikertelen tesztet jelez, és részletes hibaüzenetet ad.
A Jest beépített támogatással is rendelkezik a gúnyos funkciók megvalósításához. Ezenkívül nagy, aktív közösséggel rendelkezik, rendszeres frissítésekkel és fejlesztésekkel.
A Mocha egy JavaScript tesztelési keretrendszer, amely rugalmas és bővíthető megoldást kínál JavaScript-alkalmazások tesztjére. Egyszerű és minimalista szintaxist kínál a tesztek meghatározásához.
Több érvényesítési könyvtárat támogat, mint például a Node.js beépített állítja modul, a Chai és a Should.js, többek között. Ez a több állítási könyvtár támogatása ideális választássá teszi a Mochát, ha rugalmasságot szeretne a tesztelési beállításokban.
A Mochát az alábbi parancs futtatásával telepítheti:
npm install mokka
Íme egy példa, amely bemutatja a Mocha és a Node.js használatával végzett tesztelést állítja modul egy függvényhez, amely két szám összegét adja vissza:
const állít = igényelnek('érvényesít');
leír('addNumbers', funkció() {
azt("Két pozitív szám hozzáadása", funkció() {
const eredmény = addNumbers(3, 5);
assert.strictEqual (eredmény, 8);
});
azt("Add egy pozitív és egy negatív számot", funkció() {
const eredmény = addNumbers(3, -5);
assert.strictEqual (eredmény, -2);
});
});
A fenti teszt futtatásakor a Mocha minden egyes tesztet lefuttat a azt blokkok. A Mocha minden tesztnél végrehajtja a teszt függvényben található kódot, amely meghívja a addNumbers függvényt meghatározott bemeneti értékekkel, majd használja a állítja modullal összehasonlítani a függvény tényleges kimenetét a várt kimenettel. Ha a teszt sikertelen, a Mocha hibaként jelenti az eredményt, és tájékoztatást ad a várható és a tényleges kimeneti értékekről.
A Mocha egyik fő előnye a rugalmassága, mivel lehetővé teszi, hogy saját igényei szerint válasszon ki állításkönyvtárakat, riportereket és egyéb konfigurációkat. A Mocha azonban további beállításokat igényel az olyan funkciókhoz, mint a gúnyolódás és a pillanatfelvétel tesztelése, mivel ezeket nem tartalmazza a dobozból. A Jest-hez képest a Mocha több konfigurációt és beállítást igényelhet a hasonló funkciók eléréséhez.
Az Ava egy JavaScript tesztelési keretrendszer, amely a teljesítményre és a párhuzamosságra összpontosít. Úgy tervezték, hogy egyidejűleg futtasson teszteket, ami gyorsabb tesztvégrehajtást tesz lehetővé. Az Ava beépített tesztfutót és érvényesítési könyvtárat is tartalmaz, így önálló megoldás a JavaScript-alkalmazások tesztelésére.
Az Avat az alábbi parancs futtatásával telepítheti:
npm install --save-dev ava
Íme egy példa, amely bemutatja az Ava-val végzett tesztelést egy olyan függvényre, amely két szám összegét adja vissza:
import teszt tól től"ava";
teszt("az addNumbers két pozitív számot ad hozzá", t => {
const eredmény = addNumbers(3, 5);
t.is (eredmény, 8);
});
teszt("Az addNumbers hozzáad egy pozitív és egy negatív számot", t => {
const eredmény = addNumbers(3, -5);
t.is (eredmény, -2);
});
Amikor ezeket a teszteket az Ava használatával futtatja, az minden tesztet végrehajt, és jelentést küld az eredményekről a konzolnak. Ha minden teszt sikeres, Ava jelenteni fogja, hogy minden teszt sikeres volt. Ha valamelyik teszt sikertelen, az Ava jelenteni fogja, hogy mely tesztek sikertelenek, és tájékoztatást ad a várható és a tényleges kimeneti értékekről.
Az Ava néhány előnye, hogy a teljesítményre és a párhuzamosságra összpontosít, ami gyorsabb tesztvégrehajtást tesz lehetővé, különösen a nagy számú tesztet tartalmazó projekteknél. Azonban az Ava meredekebb tanulási görbéje lehet azoknak a fejlesztőknek, akik még nem ismerik a modern JavaScript szintaxist, mivel az ES modulok és más modern JavaScript funkciókat.
A Jasmine egy viselkedésvezérelt fejlesztési (BDD) tesztelési keretrendszer JavaScript alkalmazásokhoz. Tiszta és kifejező szintaxist biztosít a természetes nyelvhez nagyon hasonlító tesztek írásához, megkönnyítve a tesztek megértését és írását a műszaki és nem műszaki emberek számára egyaránt. A Jasmine beépített tesztfutót és érvényesítési könyvtárat is tartalmaz, így átfogó megoldást kínál a JavaScript-alkalmazások tesztelésére.
A Jasmine a következő parancs futtatásával telepíthető:
npm install --save-dev jasmine
Ezután inicializálnia kell a Jasmine-t a munkakönyvtárában az alábbi parancs futtatásával:
jázmin init
A fenti parancs generálja a támogatás mappájában spec (Tesztek) mappába. Ebben a mappában található a jasmine.json fájl, amely tartalmazza a Jasmine konfigurációs beállításait.
Íme egy példa, amely bemutatja a Jasmine segítségével egy olyan függvény tesztelését, amely ellenőrzi, hogy egy szám páros-e:
leír('egyenlő', funkció() {
azt("Páros szám esetén igazat ad vissza", funkció() {
const eredmény = isEven(4);
elvár (eredmény).toBe(igaz);
});
azt(„Hamis értéket ad vissza páratlan számhoz”, funkció() {
const eredmény = isEven(5);
elvár (eredmény).toBe(hamis);
});
});
Amikor a fenti teszteket a Jasmine használatával futtatja, a Jasmine minden tesztet végrehajt, és jelentést küld az eredményekről a konzolnak. Ha minden teszt sikeres, Jasmine jelenti, hogy minden teszt sikeres volt. Ha valamelyik teszt sikertelen, a Jasmine jelenteni fogja, hogy mely tesztek sikertelenek, és tájékoztatást ad a várható és a tényleges kimeneti értékekről.
A Jasmine néhány előnyei közé tartozik a BDD szintaxisa, amely a teszteket ember által olvashatóbbá teszi, és segít a kommunikáció javításában a műszaki és nem műszaki csapattagok között. A Jasmine-nak azonban meredekebb tanulási görbéje lehet azoknak a fejlesztőknek, akik még nem ismerik a BDD koncepciókat. Érdemes azonban megjegyezni, hogy a többi tesztelési keretrendszerhez képest a Jasmine beállítása sok konfigurációt igényel.
A tesztelési keret kiválasztása
A Node.js projekt tesztelési keretrendszerének kiválasztása számos tényező alapos mérlegelését igényli, beleértve a tesztelési megközelítést, a könnyű használhatóságot, a közösségi támogatást, az integrációt más eszközökkel és teljesítmény. De végső soron a választás a projekttől függ, mivel egyes csomagok jobban megfelelnek bizonyos projektekhez, mint mások.