Ćwiczenie — instalowanie pakietów
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.
W nowym oknie terminalu (Ctrl + Shift + `) przejdź do folderu zawierającego pliki dla tego ćwiczenia:
cd node-dependencies/5-exercise-dependency
Wyświetl zawartość folderu:
ls -R
W tym folderze powinny zostać wyświetlone dwa pliki JavaScript:
-| address-parser.js -| package.json
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.
address-parser.js
Zamknij plik.Zainstaluj pakiet Jest, uruchamiając następujące polecenie:
npm install jest --save-dev
Po zainstalowaniu pakietu Jest otwórz
package.json
plik i znajdź sekcjędevDependencies
. Powinien zostać wyświetlony wpis podobny do tego przykładujest
, w którym wartość właściwości to semantyczny numer wersji:"devDependencies": { "jest": "<number.number.number>" }
W pliku package.json znajdź sekcję
scripts
. Zastąp istniejącytest
wpis akcji następującym kodem:"test": "jest"
Zapisz zmiany i zamknij plik package.json.
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.
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.
Zapisz zmiany i zamknij plik.
Struktura projektu powinna teraz wyglądać następująco:
-| package.json -| address-parser.js -| __tests__/ ---| address-parser.js
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.