:::: MENU ::::

Construindo uma API testável com Node.js

Cada vez mais vemos APIs com Node.js. Certamente a facilidade de usar javascript no front-end e backend é um dos motivos desse crescimento. Além disso o Node.js prove algumas caracteristicas atraentes como programação assincronica, modularização e etc.

Com esse aumento, também aumentaram o numero de livros, artigos e tutoriais relacionados ao desenvolvimento de APIs com Node.js. Infelizmente a maioria deles não introduz uma parte muito importante, os testes. Testes não são luxo ou coisas que se faz quando se tem tempo de sobra. Testes garantem a qualidade do software, diminuem a manutenção, facilitam a integração e mais um monte de coisas boas.

Pensando nisso eu resolvi criar uma série de videos chamada Node.js API testável. Nela eu mostro como desenvolver uma API seguindo os bons princípios de teste e qualidade. Também introduzo ferramentas e padrões comuns no dia a dia do desenvolvimento com Node.js.

Sobre a API

A API é desenvolvida usando Node e Ecmascript 6É uma ótima oportunidade para quem ainda não conhece ou não usa as features do ES6 ou Node. A maioria dos conceitos das funcionalidades são explicadas para que todos entendam as vantagens dessas funcionalidades.

Como é uma API web eu escolhi o express.js  que é um dos frameworks mais conhecidos no universo Node. Ele é muito completo e também possui uma boa comunidade e muito conteúdo na internet.

Persistência e Models

Para a camada de banco de dados, Models e persistência escolhi o Sequelize com sqlite3. O Sequelize possui Models e DataTypes que ajudam bastante na validação e persistência de dados. O sqlite será usado pela sua facilidade de não precisar instalar um serviço. Mas ele pode ser facilmente substituído por outro banco pois o Sequelize abstrai essa camada.

Padrão de código

Para garantir o padrão de código optei pelo Eslint com o padrão do AirBnB. Esse padrão ja suporta o ES6 e é um dos mais usados atualmente.

Testes

Todo o desenvolvimento é guiado por Testes. A minha idéia e mostrar a importancia e o valor que isso traz para o processo. Quem fizer o tutorial vai aprender sobre testes unitários, testes de integração e contrato. Esses testes são cruciais para o desenvolvimento de uma API.

Espero que seja útil!


  • malbernaz

    Waldemar, assisti alguns videos dessa série e o video de node com docker. Muito bom ver conteúdo de qualidade e atualizado na lingua portuguesa. Quando comecei a aprender, não tive essa facilidade. Meus parabéns e continue soltando videos!

    • Waldemar Neto

      Valeu cara! inseri os videos finais, da uma olhada lá!

  • Welinton

    Mano esse série é linda! Mudou a minha vida! Finalmente entendi teste em node!!!!

    • Waldemar Neto

      Valeu!!

  • Jonatan Lima

    Ficou muito bom, a parte de teste esclareceu muitas dúvidas.

    • Waldemar Neto

      Valeu @disqus_kUcg8oP89o:disqus !!

  • Luiz Azevedo

    Muito bom as aulas sobre api em node, parabéns pelo conteúdo. Gostaria de ver mais sobre as questões de padrões de rotas, models e associações com sequelize e express…

    abraço.

  • emanuel douglas

    sou novato no mundo dos teste a pergunta pode parecer ignorante, mas como faço pra testar uma função que não retorna valor? que meche com variaveis interns de uma classe?

    • Waldemar Neto

      Opa emanuel, no livro passamos por esse cenário, da uma lida.
      Eu uso spies para validar o comportamento