Esercizio - Installare i pacchetti
Il team di Tailwind Traders sta pianificando di sviluppare diverse app Node.js. Hanno trovato Jest, un framework di test zero-config diffuso, nel registro npm. Vogliono installare Jest, scrivere alcuni test ed eseguirli per valutarne l'efficacia.
Aggiungere un pacchetto di test con l'interfaccia della riga di comando di npm
È disponibile un codice che estrae un indirizzo da una stringa. Il processo è semplice: installare il framework di test, scrivere alcuni test ed eseguirli.
In una nuova finestra del terminale (CTRL + MAIUSC + `) passare alla cartella con i file clonati per questo esercizio:
cd node-dependencies/5-exercise-dependency
Visualizzare il contenuto della cartella:
ls -R
In questa cartella dovrebbero essere visualizzati due file JavaScript:
-| address-parser.js -| package.json
Aprire il file address-parser.js. Dovrebbe essere simile al seguente:
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; }
Questa funzione acquisisce una stringa e analizza le informazioni sul contenuto dell'ordine di un cliente, sull'indirizzo di consegna e sul metodo di pagamento. Si aggiungerà Jest e si scriveranno alcuni test per la funzione.
Chiudere il file
address-parser.js
.Installare il pacchetto Jest eseguendo questo comando:
npm install jest --save-dev
Dopo l'installazione del pacchetto Jest, aprire il
package.json
file e trovare ladevDependencies
sezione . Verrà visualizzata una voce simile a questo esempio in cui il valore dellajest
proprietà è un numero di versione semantica:"devDependencies": { "jest": "<number.number.number>" }
Nel file package.json trovare la sezione
scripts
. Sostituire la voce di azione esistentetest
con il codice seguente:"test": "jest"
Salvare le modifiche e chiudere il file package.json.
Nel terminale creare una nuova sottocartella denominata __tests__.
mkdir __tests__
Nota
Assicurarsi di usare due caratteri di sottolineatura quando si crea la cartella __tests__. La cartella tests è una convenzione di denominazione usata da Jest, il framework di test. Jest riconosce automaticamente tutti i file in una cartella di test (o file con estensione test o spec. nei relativi nomi) come file di test e li include durante l'esecuzione dei test. Questa convenzione consente di mantenere i file di test organizzati e facilmente identificabili nel progetto.
Nella cartella __tests__ creare un file denominato address-parser.spec.js e quindi aggiungere il contenuto seguente al file:
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", }); }); });
Script di test:
- Controlla la capacità di analisi della funzione address-parser.js.
- Assicura che la funzione possa analizzare correttamente le informazioni necessarie.
Salvare le modifiche e chiudere il file.
La struttura del progetto dovrebbe ora essere simile a questo esempio:
-| package.json -| address-parser.js -| __tests__/ ---| address-parser.js
Riavviare i test immettendo il comando seguente nel terminale:
npm run test
Dovrebbe essere visualizzato l'output seguente:
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.
Operazione riuscita. Il test è stato superato ed è stato aggiunto il test installando una dipendenza.
Complimenti. Jest è stato installato correttamente come dipendenza, sono stati scritti test per il codice dell'applicazione e sono stati eseguiti i test. Sembra che Jest funzioni come previsto e Tailwind Traders sarà probabilmente soddisfatta di questa valutazione.