An open API service indexing awesome lists of open source software.

https://github.com/janascher/calculadora-unit-tests-iterasys

Projeto de calculadora com testes unitários em Jest, desenvolvido durante o curso "Formação em Teste de Software" da Iterasys, demonstrando TDD e DDT.
https://github.com/janascher/calculadora-unit-tests-iterasys

jest unit-testing

Last synced: 2 months ago
JSON representation

Projeto de calculadora com testes unitários em Jest, desenvolvido durante o curso "Formação em Teste de Software" da Iterasys, demonstrando TDD e DDT.

Awesome Lists containing this project

README

          



🧪🧮 Projeto de Calculadora com Testes Unitários em Jest


## 🧐 Descrição

Este projeto foi desenvolvido durante as aulas do curso "Formação em Teste de Software" da [Iterasys](https://iterasys.com.br/pt), ministradas pelo professor José Correia. Ele visa demonstrar a aplicação de testes unitários utilizando Jest, abordando tanto testes simples quanto testes orientados por dados (DDT), onde a massa de teste é definida em formato JSON.

## 📚 Aprendizados
Durante as aulas e a construção deste projeto, foram abordados os seguintes tópicos:

- **Testes Unitários com Jest:** criação de testes unitários para validar o funcionamento de funções individuais (soma, subtração, multiplicação e divisão), utilizando a biblioteca Jest.
- **TDD (Test Driven Development):** prática de desenvolvimento orientado por testes, onde os testes são escritos antes da implementação do código, garantindo que cada funcionalidade seja testada desde o início.
- **DDT (Data Driven Testing):** implementação de testes dirigidos por dados, utilizando massa de teste em formato JSON para validar diferentes cenários com o mesmo código de teste, aumentando a cobertura e a eficiência dos testes.
- **Estrutura de Projetos de Teste:** organização de pastas e arquivos para um projeto de testes unitários, incluindo a separação de testes, código-fonte e massa de teste.
- **Metodologia AAA (Arrange, Act, Assert):** estruturação dos testes unitários seguindo a metodologia AAA (Arrange, Act, Assert) para melhor organização, legibilidade e manutenção do código de teste.

## 🚀 Funcionalidades Testadas

As seguintes funcionalidades da calculadora foram testadas:

- **Soma:** adição de dois números.
- **Subtração:** subtração de dois números.
- **Multiplicação:** multiplicação de dois números.
- **Divisão:** divisão de dois números, incluindo o tratamento de divisão por zero.

## 📚 Tecnologias Utilizadas

- **IDE:** VS Code
- **Linguagem:** JavaScript (Node.js)
- **Teste de Unidade:** Jest
- **Gerenciador de Pacotes:** npm
- **Ferramenta de Formatação:** Prettier

## ⚙️ Configuração do Ambiente

### Definir a versão do Node.js (caso necessário)
Certifique-se de que você está usando a versão correta do Node.js. Caso necessário, use o NVM para definir a versão:
```sh
nvm use 22.14.0
```

Alternativamente, crie um arquivo `.nvmrc` na raiz do projeto para especificar a versão do Node.js:
```sh
echo "22.14.0" > .nvmrc
```

### Instalar o Jest

Instale o Jest usando o comando:
```sh
npm i jest
```
**Observação:** Embora o comando acima instale o Jest como uma dependência regular, é uma boa prática usar `--save-dev` para pacotes de desenvolvimento como o Jest, pois isso os adiciona às `devDependencies` no `package.json`, indicando que são necessários apenas durante o desenvolvimento. No entanto, durante as aulas, o comando `npm i jest` foi utilizado pelo professor.

## 🧪 Executar os Testes
Para executar os testes unitários, você pode usar os seguintes comandos:

- **Execução Padrão:**
```sh
npx jest
```
- **Execução com Saída Detalhada (Verbose):**
```sh
npx jest --verbose
```
O comando `--verbose` fornece uma saída mais detalhada durante a execução dos testes, o que pode ser útil para depuração ou para entender melhor o fluxo dos testes.

## 🦸🏻‍♀️ Autor



Janaína Scher



Janaína Scher 👩🏻‍💻



Profissional em Teste de Software e Garantia da Qualidade (QA)