Gyakorlat – Csomagok telepítése

Befejeződött

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.

  1. Egy új terminálablakban (Ctrl + Shift + `) váltson a gyakorlat fájljait tartalmazó mappára:

    cd node-dependencies/5-exercise-dependency
    
  2. A mappa tartalmának megtekintése:

    ls -R
    

    Ebben a mappában két JavaScript-fájlnak kell megjelennie:

    -| address-parser.js
    -| package.json
    
  3. 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.

  4. Zárja be a address-parser.js fájlt.

  5. Telepítse a Jest-csomagot a következő parancs futtatásával:

    npm install jest --save-dev
    
  6. A Jest-csomag telepítése után nyissa meg a package.json fájlt, és keresse meg a szakaszt devDependencies . Az alábbi példához hasonló bejegyzésnek kell megjelennie, amelyben a jest tulajdonság értéke szemantikai verziószám:

    "devDependencies": {
       "jest": "<number.number.number>"
     }
    
  7. 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"
    
  8. Mentse a módosításokat, és zárja be a package.json fájlt.

  9. 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.

  10. 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.
  11. Mentse a módosításokat, és zárja be a fájlt.

  12. 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
    
  13. 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.