Gyakorlat – Csomagok telepítése
A Tailwind Traders csapata több Node.js-alkalmazást tervez fejleszteni. A Jestet, egy népszerű zero-config tesztelési keretrendszert találták az npm beállításjegyzékében. Azt szeretnék, hogy telepítse a Jest-et, írjon néhány tesztet, és futtassa őket a hatékonyságának kiértékeléséhez.
Tesztcsomag hozzáadása npm parancssori felülettel
Rendelkezik olyan kóddal, amely kinyer egy címet egy sztringből. A feladat egyszerű: telepítse a tesztelési keretrendszert, írjon néhány tesztet, és futtassa őket.
Egy új terminálablakban (Ctrl + Shift + `) váltson a gyakorlat fájljait tartalmazó mappára:
cd node-dependencies/5-exercise-dependency
A mappa tartalmának megtekintése:
ls -R
Ebben a mappában két JavaScript-fájlnak kell megjelennie:
-| address-parser.js -| package.json
Nyissa meg a address-parser.js fájlt. Így kell kinéznie:
exports.addressParser = function parseOrder(order) { const match = order.match(/order:\s(?<order>\w+\s\w+).*address:\s(?<address>\w+\s\w+\s\w+).*payment info:\s(?<payment>\w+)/) return match.groups; }
Ez a függvény egy sztringet vesz fel, és elemzi az ügyfél megrendeléseit, a kézbesítés helyét és a kifizetés módját. Hozzáadjuk a Jest-et, és megírunk néhány tesztet a függvényhez.
Zárja be a
address-parser.js
fájlt.Telepítse a Jest-csomagot a következő parancs futtatásával:
npm install jest --save-dev
A Jest-csomag telepítése után nyissa meg a
package.json
fájlt, és keresse meg a szakasztdevDependencies
. Az alábbi példához hasonló bejegyzésnek kell megjelennie, amelyben ajest
tulajdonság értéke szemantikai verziószám:"devDependencies": { "jest": "<number.number.number>" }
A package.json fájlban keresse meg a szakaszt
scripts
. Cserélje le a meglévőtest
műveletbejegyzést a következő kódra:"test": "jest"
Mentse a módosításokat, és zárja be a package.json fájlt.
A terminálban hozzon létre egy új, __tests__ nevű almappát.
mkdir __tests__
Megjegyzés:
A __tests__ mappa létrehozásakor győződjön meg arról, hogy dupla aláhúzásjeleket használ. A tesztmappa a Jest, a tesztelési keretrendszer által használt elnevezési konvenció. A Jest automatikusan felismeri a tesztmappában lévő fájlokat (vagy a .test. vagy .spec. nevű fájlokat) tesztfájlként, és a tesztek futtatásakor is tartalmazza őket. Ez az egyezmény segít a tesztfájlok rendszerezett és könnyen azonosítható állapotban tartásában a projektben.
A __tests__ mappában hozzon létre egy address-parser.spec.js nevű fájlt, majd adja hozzá a következő tartalmat a fájlhoz:
const { addressParser } = require('../address-parser'); describe('Address Parser', () => { test('should parse correctly', () => { expect(addressParser("I want to to order: 3 books to address: 112 street city here is my payment info: cardnumber") ).toEqual({ order: "3 books", address: "112 street city", payment: "cardnumber", }); }); });
A tesztszkript:
- Ellenőrzi a address-parser.js függvény elemzési képességét.
- Biztosítja, hogy a függvény megfelelően elemezni tudja a szükséges információkat.
Mentse a módosításokat, és zárja be a fájlt.
A projektstruktúrának most az alábbi példához hasonlóan kell kinéznie:
-| package.json -| address-parser.js -| __tests__/ ---| address-parser.js
A tesztek futtatásához írja be ezt a parancsot a terminálba:
npm run test
A következő kimenetnek kell megjelennie:
PASS __tests__/address-parser.js Address parser ✓ should parse correctly (2 ms) Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total Snapshots: 0 total Time: 0.4 s Ran all test suites.
Sikerült! A teszt sikeres, és egy függőség telepítésével hozzáadta a tesztelést.
Gratulálunk! Sikeresen telepítette a Jestet függőségként, teszteket írt az alkalmazáskódhoz, és futtatta a teszteket. A Jest a jelek szerint megfelel az elvárásoknak, és a Tailwind Traders bizonyára elégedett lesz az értékeléssel.