Exercício – Instalar pacotes
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.
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
Veja o conteúdo da pasta:
ls -R
Nesta pasta, você verá dois arquivos JavaScript:
-| address-parser.js -| package.json
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.
Feche o
address-parser.js
arquivo.Instale o pacote Jest executando este comando:
npm install jest --save-dev
Depois que o pacote Jest for instalado, abra o
package.json
arquivo e localize adevDependencies
seção . Você verá uma entrada semelhante a este exemplo, onde o valor dajest
propriedade é um número de versão semântica:"devDependencies": { "jest": "<number.number.number>" }
No arquivo package.json, localize a
scripts
seção . Substitua a entrada de ação existentetest
pelo seguinte código:"test": "jest"
Salve as alterações e feche o arquivo package.json.
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.
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.
Salve as alterações e feche o arquivo.
Sua estrutura de projeto agora deve se parecer com este exemplo:
-| package.json -| address-parser.js -| __tests__/ ---| address-parser.js
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.