Dev (Back & Front)ARTIGO

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.

Cada vez mais vemos APIs com Node.jsNode.js45 conteúdosComo criar aplicações console em Node.jsDev (Back & Front) · fev 2025Entendendo o ciclo de publicação do Node.jsDev (Back & Front) · fev 2020Nodejs por baixo dos panosDev (Back & Front) · jul 2019Ver tudo em Dev (Back & Front) . Certamente, a facilidade de usar Javascript no front-end e backend é um dos motivos desse crescimento. Além disso, o Node.js provê algumas características atraentes, como programação assíncronica, modularização 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 dadosBanco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data , 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. Osqlite 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 já suporta o ES6 e é um dos mais usados atualmente.

Testes

Todo o desenvolvimento é guiado por Testes. A minha ideia é mostrar a importância 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!

Dev na carteira e no coração, com um certo apego em web. Moro em Pelotas (RS) e por esses lados, e para onde me chamarem, palestro e ministro workshops. Open-source is my religion!

Ver perfil