Übung: Installieren von Paketen

Abgeschlossen

Das Tailwind Traders-Team plant, mehrere Node.js-Apps zu entwickeln. Sie haben Jest, ein beliebtes Zero-Config-Testframework, in der npm-Registrierung gefunden. Sie möchten, dass Sie Jest installieren, einige Tests schreiben und ausführen, um die Wirksamkeit zu bewerten.

Hinzufügen eines Testpakets mit npm CLI

Sie haben Code, der eine Adresse aus einer Zeichenfolge extrahiert. Ihr Auftrag ist einfach: Installieren Sie das Testframework, schreiben Sie einige Tests und führen Sie sie aus.

  1. Wechseln Sie in einem neuen Terminalfenster (STRG + UMSCHALT + `) zum Ordner, der die Dateien für diese Übung enthält:

    cd node-dependencies/5-exercise-dependency
    
  2. Zeigen Sie den Inhalt des Ordners an:

    ls -R
    

    In diesem Ordner sollten zwei JavaScript-Dateien enthalten sein:

    -| address-parser.js
    -| package.json
    
  3. Öffnen Sie die Datei address-parser.js. Diese sollte wie die folgende Datei aussehen:

     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;
     }
    

    Diese Funktion erfasst eine Zeichenfolge und liest aus dieser Informationen darüber, was ein Kunde bestellt, wohin diese Bestellung geliefert werden soll und wie er dafür bezahlt. Fügen Sie Jest hinzu, und schreiben einige Tests für die Funktion.

  4. Schließen Sie die address-parser.js-Datei.

  5. Installieren Sie das Jest-Paket, indem Sie diesen Befehl ausführen:

    npm install jest --save-dev
    
  6. Öffnen Sie nach der Installation des Jest-Pakets die package.json-Datei und suchen Sie den devDependencies-Abschnitt. Es sollte ein Eintrag angezeigt werden, der wie in diesem Beispiel aussieht, wo der Wert für die jest-Eigenschaft eine semantische Versionsnummer ist:

    "devDependencies": {
       "jest": "<number.number.number>"
     }
    
  7. Wechseln Sie in der Datei „package.json“ zum Abschnitt scripts. Ersetzen Sie den vorhandenen Eintrag der Aktion test durch folgenden Code:

    "test": "jest"
    
  8. Speichern Sie Ihre Änderungen, und schließen Sie die Datei „package.json“.

  9. Erstellen Sie im Terminal einen neuen Unterordner namens __tests__.

    mkdir __tests__
    

    Hinweis

    Stellen Sie sicher, dass Sie doppelte Unterstriche verwenden, wenn Sie den Ordner __tests__ erstellen. Der Testordner ist eine Benennungskonvention, die von Jest, dem Testframework, verwendet wird. Jest erkennt automatisch alle Dateien in einem Testordner (oder Dateien mit .test. oder .spec. in ihren Namen) als Testdateien und schließt sie ein, wenn Tests ausgeführt werden. Diese Konvention hilft, Testdateien in Ihrem Projekt zu organisieren und leicht zu identifizieren.

  10. Erstellen Sie im Ordner „__tests__“ eine Datei namens address-parser.spec.js und fügen Sie ihr dann folgenden Inhalt hinzu:

     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",
             });
         });
     });
    

    Das Testskript:

    • Überprüft die Fähigkeit zur Analyse der Funktion „address-parser.js“.
    • Stellt sicher, dass die Funktion die erforderlichen Informationen richtig analysieren kann.
  11. Speichern Sie Ihre Änderungen, und schließen Sie die Datei.

  12. Ihre Projektstruktur sollte jetzt wie in diesem Beispiel aussehen:

    -| package.json
    -| address-parser.js
    -| __tests__/
    ---| address-parser.js
    
  13. Führen Sie die Tests aus, indem Sie den folgenden Befehl im Terminal eingeben:

    npm run test
    

    Die folgende Ausgabe sollte angezeigt werden:

      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.
    

    Gratulation, das Programm funktioniert! Ihr Test wurde bestanden, und Sie haben den Test hinzugefügt, indem Sie eine Abhängigkeit installiert haben.

Herzlichen Glückwunsch. Sie haben Jest erfolgreich als Abhängigkeit installiert, Tests für Anwendungscode geschrieben und die Tests ausgeführt. Jest scheint sein Versprechen zu halten, und Tailwind Traders ist mit dieser Auswertung wahrscheinlich zufrieden.