Esercizio - Installare i pacchetti

Completato

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.

  1. In una nuova finestra del terminale (CTRL + MAIUSC + `) passare alla cartella con i file clonati per questo esercizio:

    cd node-dependencies/5-exercise-dependency
    
  2. Visualizzare il contenuto della cartella:

    ls -R
    

    In questa cartella dovrebbero essere visualizzati due file JavaScript:

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

  4. Chiudere il file address-parser.js.

  5. Installare il pacchetto Jest eseguendo questo comando:

    npm install jest --save-dev
    
  6. Dopo l'installazione del pacchetto Jest, aprire il package.json file e trovare la devDependencies sezione . Verrà visualizzata una voce simile a questo esempio in cui il valore della jest proprietà è un numero di versione semantica:

    "devDependencies": {
       "jest": "<number.number.number>"
     }
    
  7. Nel file package.json trovare la sezione scripts. Sostituire la voce di azione esistente test con il codice seguente:

    "test": "jest"
    
  8. Salvare le modifiche e chiudere il file package.json.

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

  10. 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.
  11. Salvare le modifiche e chiudere il file.

  12. La struttura del progetto dovrebbe ora essere simile a questo esempio:

    -| package.json
    -| address-parser.js
    -| __tests__/
    ---| address-parser.js
    
  13. 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.