Code Monkey home page Code Monkey logo

learning-unit-tests's Introduction

Meu primeiro teste unitário

Stacks utilizadas

Desenvolvimento:

Javascript HTML CSS

Testes:

Jest Mocha Node

Instalação

git clone https://github.com/davisonalves/learning-unit-tests.git
npm install
npm run test

Observação: É um pré-requisito ter git e node instalados para clonar o repositório e rodar os testes.

Sobre a aplicação

A aplicação se trata de uma calculadora com funções simples como:

  1. Inserção de valores
  2. Apagar o último valor digitado
  3. Apagar todos os valores digitados
  4. E as operações básicas de soma, subtração, multiplicação e divisão.

Calculadora

Sobre os testes

Os testes foram baseados nas funcionalidades descritas acima, e pensados de forma analitica com as técnicas de partição de equivalência e experiência do testador.


Execução dos testes

Considerações finais e meu aprendizado

No início tive muitos problemas tentando rodar os testes e entender qual seria a lógica por trás deles, porém no caminho descobri que essa era a parte mais simples e que o problema era meu código que não estava bom o suficiente para ser testado. Então a primeira coisa que tive que fazer antes de rodar o Jest foi implementar melhorias para que isso fosse possivel, com isso segui o principio do TDD, onde escrevi primeiro como eu imaginava o meu teste, refatorei meu código, e depois de executar realizei ajustes tanto no teste quanto no código para que tudo funcionasse.

Vi na prática agora o quanto os testes unitários contribuem para a qualidade do nosso código desenvolvido, pois ele nos mostra onde precisamos de melhorias e refatoração. E sem contar que pra saber se algo continua funcionando após implementar uma nova feature é muito mais fácil rodar os testes unitários do que lembrar e executar todos os cenários manualmente denovo.

E se você chegou até aqui, muito obrigado ❤️

learning-unit-tests's People

Contributors

davisonalves avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.