es20231 / eqp7

Equipe 7 - ES 2023.1
https://minigproject.vercel.app
3 stars 5 forks source link

Como criar testes unitários no Node #71

Closed CassianoJunior closed 1 year ago

CassianoJunior commented 1 year ago

Video base

CassianoJunior commented 1 year ago

Tutorial de Criação de Testes Unitários no Node.js

Neste tutorial, vamos aprender como criar testes unitários para suas funções e módulos no ambiente Node.js. Os testes unitários são parte essencial da prática de desenvolvimento de software, pois garantem a confiabilidade e robustez do código. Usaremos a biblioteca de testes Jest para demonstrar a criação de testes unitários.

1. Configuração do projeto

Certifique-se de ter o Node.js instalado no seu sistema antes de prosseguir. Caso ainda não tenha, você pode baixá-lo em https://nodejs.org/.

Para começar, crie um novo diretório para o seu projeto e inicialize-o com o npm:

mkdir meu-projeto
cd meu-projeto
npm init -y

Em seguida, instale o Jest:

npm install jest --save-dev

2. Criando as funções

Vamos criar algumas funções simples para testar. Crie um arquivo chamado funcoes.js no diretório do seu projeto com o seguinte conteúdo:

// funcoes.js

const somar = (a, b) => a + b;

const subtrair = (a, b) => a - b;

const multiplicar = (a, b) => a * b;

const dividir = (a, b) => {
  if (b === 0) {
    throw new Error("Não é possível dividir por zero!");
  }
  return a / b;
};

module.exports = {
  somar,
  subtrair,
  multiplicar,
  dividir,
};

3. Escrevendo testes

Agora, vamos criar um arquivo de teste para verificar se as funções estão funcionando corretamente. Crie um arquivo chamado funcoes.test.js no mesmo diretório com o seguinte conteúdo:

// funcoes.test.js

const { somar, subtrair, multiplicar, dividir } = require("./funcoes");

// Teste da função somar
test("soma corretamente dois números", () => {
  expect(somar(2, 3)).toBe(5);
});

// Teste da função subtrair
test("subtrai corretamente dois números", () => {
  expect(subtrair(5, 3)).toBe(2);
});

// Teste da função multiplicar
test("multiplica corretamente dois números", () => {
  expect(multiplicar(4, 5)).toBe(20);
});

// Teste da função dividir
test("divide corretamente dois números", () => {
  expect(dividir(10, 2)).toBe(5);
});

// Teste da divisão por zero
test("lança um erro ao dividir por zero", () => {
  expect(() => dividir(10, 0)).toThrow("Não é possível dividir por zero!");
});

4. Executando os testes

Agora, com as funções e os testes criados, podemos executá-los para verificar se tudo está funcionando corretamente. No arquivo package.json, adicione o seguinte script:

"scripts": {
  "test": "jest"
}

Depois, no terminal, execute o comando:

npm test

O Jest executará todos os testes definidos no arquivo funcoes.test.js e exibirá os resultados no terminal.

Conclusão

Parabéns! Você criou testes unitários para suas funções no Node.js usando o Jest. Os testes unitários são uma prática importante para garantir a qualidade do código e evitar regressões à medida que você continua a desenvolver seu projeto. Sempre escreva testes para suas funções e módulos para ter um código mais confiável e de fácil manutenção.