Exercício – Instalar pacotes

Concluído

A equipa da Tailwind Traders está a planear desenvolver várias aplicações Node.js. Eles encontraram o Jest, uma estrutura de teste de configuração zero popular, no registro npm. Eles querem que você instale o Jest, escreva alguns testes e execute-os para avaliar sua eficácia.

Adicionar um pacote de teste com npm CLI

Você tem algum código que extrai um endereço de uma cadeia de caracteres. Seu trabalho é simples: instalar a estrutura de teste, escrever alguns testes e executá-los.

  1. Em uma nova janela do terminal (Ctrl + Shift + `), mude para a pasta que contém os arquivos para este exercício:

    cd node-dependencies/5-exercise-dependency
    
  2. Veja o conteúdo da pasta:

    ls -R
    

    Nesta pasta, você verá dois arquivos JavaScript:

    -| address-parser.js
    -| package.json
    
  3. Abra o arquivo address-parser.js . Deverá ter o aspeto deste ficheiro:

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

    Essa função usa uma cadeia de caracteres e analisa informações sobre o que um cliente pede, onde deve ser entregue e como será pago. Vamos adicionar Jest e escrever alguns testes para a função.

  4. Feche o address-parser.js arquivo.

  5. Instale o pacote Jest executando este comando:

    npm install jest --save-dev
    
  6. Depois que o pacote Jest for instalado, abra o package.json arquivo e localize a devDependencies seção . Você verá uma entrada semelhante a este exemplo, onde o valor da jest propriedade é um número de versão semântica:

    "devDependencies": {
       "jest": "<number.number.number>"
     }
    
  7. No arquivo package.json, localize a scripts seção . Substitua a entrada de ação existente test pelo seguinte código:

    "test": "jest"
    
  8. Salve as alterações e feche o arquivo package.json.

  9. No terminal, crie uma nova subpasta chamada __tests__.

    mkdir __tests__
    

    Nota

    Certifique-se de usar sublinhados duplos ao criar a pasta __tests__ . A pasta de testes é uma convenção de nomenclatura usada por Jest, a estrutura de teste. Jest reconhece automaticamente todos os arquivos em uma pasta de testes (ou arquivos com .test. ou .spec. em seus nomes) como arquivos de teste e os inclui ao executar testes. Essa convenção ajuda a manter os arquivos de teste organizados e facilmente identificáveis em seu projeto.

  10. Na pasta __tests__, crie um arquivo chamado address-parser.spec.js e adicione o seguinte conteúdo ao arquivo:

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

    O script de teste:

    • Verifica a capacidade de análise da função address-parser.js.
    • Garante que a função possa analisar corretamente as informações necessárias.
  11. Salve as alterações e feche o arquivo.

  12. Sua estrutura de projeto agora deve se parecer com este exemplo:

    -| package.json
    -| address-parser.js
    -| __tests__/
    ---| address-parser.js
    
  13. Execute os testes inserindo este comando no terminal:

    npm run test
    

    Deverá obter o seguinte resultado:

      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.
    

    Êxito! Seu teste é aprovado e você adicionou o teste instalando uma dependência.

Parabéns! Você instalou com êxito o Jest como uma dependência, escreveu testes para o código do aplicativo e executou os testes. O Jest parece cumprir as expetativas e é provável que a Tailwind Traders esteja satisfeita com esta avaliação.