Ćwiczenie — instalowanie pakietów

Ukończone

Zespół firmy Tailwind Traders planuje opracowywanie kilku aplikacji Node.js. Odkryli, że Jest, popularna platforma testowa zero-config, w rejestrze npm. Chcą zainstalować platformę Jest, napisać kilka testów i uruchomić je, aby ocenić jego skuteczność.

Dodawanie pakietu testowego za pomocą interfejsu wiersza polecenia npm

Masz kod, który wyodrębnia adres z ciągu. Zadanie jest proste: zainstaluj platformę testową, napisz kilka testów i uruchom je.

  1. W nowym oknie terminalu (Ctrl + Shift + `) przejdź do folderu zawierającego pliki dla tego ćwiczenia:

    cd node-dependencies/5-exercise-dependency
    
  2. Wyświetl zawartość folderu:

    ls -R
    

    W tym folderze powinny zostać wyświetlone dwa pliki JavaScript:

    -| address-parser.js
    -| package.json
    
  3. Otwórz plik address-parser.js. Powinien wyglądać podobnie do tego pliku:

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

    Ta funkcja pobiera ciąg i analizuje informacje o tym, co klient zamówi, gdzie należy dostarczyć i jak będzie opłacany. Dodamy element Jest i napiszemy kilka testów dla funkcji.

  4. address-parser.js Zamknij plik.

  5. Zainstaluj pakiet Jest, uruchamiając następujące polecenie:

    npm install jest --save-dev
    
  6. Po zainstalowaniu pakietu Jest otwórz package.json plik i znajdź sekcję devDependencies . Powinien zostać wyświetlony wpis podobny do tego przykładu jest , w którym wartość właściwości to semantyczny numer wersji:

    "devDependencies": {
       "jest": "<number.number.number>"
     }
    
  7. W pliku package.json znajdź sekcję scripts . Zastąp istniejący test wpis akcji następującym kodem:

    "test": "jest"
    
  8. Zapisz zmiany i zamknij plik package.json.

  9. W terminalu utwórz nowy podfolder o nazwie __tests__.

    mkdir __tests__
    

    Uwaga

    Pamiętaj, aby podczas tworzenia folderu __tests__ używać podwójnych podkreśleń. Folder tests to konwencja nazewnictwa używana przez platformę Jest. Narzędzie Jest automatycznie rozpoznaje wszystkie pliki w folderze testów (lub pliki z plikami .test. lub spec w nazwach) jako pliki testowe i uwzględnia je podczas uruchamiania testów. Ta konwencja ułatwia organizowanie i łatwe zidentyfikowanie plików testowych w projekcie.

  10. W folderze __tests__ utwórz plik o nazwie address-parser.spec.js, a następnie dodaj następującą zawartość do pliku:

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

    Skrypt testowy:

    • Sprawdza możliwość analizowania funkcji address-parser.js.
    • Gwarantuje, że funkcja może poprawnie przeanalizować potrzebne informacje.
  11. Zapisz zmiany i zamknij plik.

  12. Struktura projektu powinna teraz wyglądać następująco:

    -| package.json
    -| address-parser.js
    -| __tests__/
    ---| address-parser.js
    
  13. Uruchom testy, wprowadzając to polecenie w terminalu:

    npm run test
    

    Powinny zostać wyświetlone następujące dane wyjściowe:

      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.
    

    To wszystko! Test przebiegnie pomyślnie, a testy zostały dodane przez zainstalowanie zależności.

Gratulacje. Pomyślnie zainstalowano platformę Jest jako zależność, utworzono testy kodu aplikacji i uruchomiono testy. Wygląda na to, że platforma Jest spełnia swoje obietnice, więc firma Tailwind Traders będzie prawdopodobnie zadowolona z wyników tej oceny.