{"id":26066387,"url":"https://github.com/janascher/calculadora-unit-tests-iterasys","last_synced_at":"2026-04-21T02:03:21.467Z","repository":{"id":281200207,"uuid":"944524711","full_name":"janascher/calculadora-unit-tests-iterasys","owner":"janascher","description":"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.","archived":false,"fork":false,"pushed_at":"2025-03-07T14:09:57.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-07T15:24:08.003Z","etag":null,"topics":["jest","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/janascher.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-07T13:55:38.000Z","updated_at":"2025-03-07T14:13:59.000Z","dependencies_parsed_at":"2025-03-07T15:24:10.751Z","dependency_job_id":"c14344aa-5e5f-4209-94c8-5c9f0d206061","html_url":"https://github.com/janascher/calculadora-unit-tests-iterasys","commit_stats":null,"previous_names":["janascher/calculadora-unit-tests-iterasys"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janascher%2Fcalculadora-unit-tests-iterasys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janascher%2Fcalculadora-unit-tests-iterasys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janascher%2Fcalculadora-unit-tests-iterasys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janascher%2Fcalculadora-unit-tests-iterasys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janascher","download_url":"https://codeload.github.com/janascher/calculadora-unit-tests-iterasys/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242608444,"owners_count":20157360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jest","unit-testing"],"created_at":"2025-03-08T20:51:43.593Z","updated_at":"2026-04-21T02:03:21.439Z","avatar_url":"https://github.com/janascher.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv  align=\"center\"\u003e\n\t\u003ch1\u003e\n\t\t🧪🧮 Projeto de Calculadora com Testes Unitários em Jest\n\t\u003c/h1\u003e\n\u003c/div\u003e\n\n## 🧐 Descrição\n\nEste 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.\n\n## 📚 Aprendizados\nDurante as aulas e a construção deste projeto, foram abordados os seguintes tópicos:\n\n- **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.\n- **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.\n- **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.\n- **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.\n- **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.\n\n## 🚀 Funcionalidades Testadas\n\nAs seguintes funcionalidades da calculadora foram testadas:\n\n- **Soma:** adição de dois números.\n- **Subtração:** subtração de dois números.\n- **Multiplicação:** multiplicação de dois números.\n- **Divisão:** divisão de dois números, incluindo o tratamento de divisão por zero.\n\n## 📚 Tecnologias Utilizadas\n\n- **IDE:** VS Code\n- **Linguagem:** JavaScript (Node.js)\n- **Teste de Unidade:** Jest\n- **Gerenciador de Pacotes:** npm\n- **Ferramenta de Formatação:** Prettier\n\n## ⚙️ Configuração do Ambiente\n\n### Definir a versão do Node.js (caso necessário)\nCertifique-se de que você está usando a versão correta do Node.js. Caso necessário, use o NVM para definir a versão:\n```sh\nnvm use 22.14.0\n```\n\nAlternativamente, crie um arquivo `.nvmrc` na raiz do projeto para especificar a versão do Node.js:\n```sh\necho \"22.14.0\" \u003e .nvmrc\n```\n\n### Instalar o Jest\n\nInstale o Jest usando o comando:\n```sh\nnpm i jest\n```\n**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.\n\n## 🧪 Executar os Testes\nPara executar os testes unitários, você pode usar os seguintes comandos:\n\n- **Execução Padrão:**\n```sh\nnpx jest\n```\n- **Execução com Saída Detalhada (Verbose):**\n```sh\nnpx jest --verbose\n```\nO 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.\n\n## 🦸🏻‍♀️ Autor\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/janascher\"\u003e\n    \u003cimg src=\"https://avatars.githubusercontent.com/u/79182711?v=4\" width=\"150px;\" alt=\"Janaína Scher\" style=\"border-radius: 50%; box-shadow: 0 0 10px rgba(0,0,0,0.2);\"\u003e\n    \u003cbr /\u003e\n    \u003csub\u003e\n      \u003cb\u003eJanaína Scher\u003c/b\u003e 👩🏻‍💻\n    \u003c/sub\u003e\n    \u003cbr /\u003e\n    \u003ci\u003eProfissional em Teste de Software e Garantia da Qualidade (QA)\u003c/i\u003e\n  \u003c/a\u003e\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanascher%2Fcalculadora-unit-tests-iterasys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanascher%2Fcalculadora-unit-tests-iterasys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanascher%2Fcalculadora-unit-tests-iterasys/lists"}