Seu carrinho está vazio no momento!

Introdução (3 min)
Imagine um restaurante. O garçom é o mensageiro entre você e a cozinha (o servidor). Você faz um pedido (uma requisição) e o garçom o entrega à cozinha. A cozinha prepara seu prato (processa a requisição) e o garçom o traz de volta (resposta). Testar APIs é como ser um crítico gastronômico: você avalia se o pedido (requisição) foi entregue corretamente e se o prato (resposta) está de acordo com o esperado.
Testar APIs é fundamental para garantir a qualidade de aplicações modernas, especialmente em arquiteturas baseadas em microsserviços. Nesta aula, aprenderemos a usar o Postman para testar APIs de forma profissional, assegurando seu funcionamento correto e eficiente.
No contexto Node.js/Express, o Postman nos permite simular requisições aos nossos endpoints, verificando se as rotas, middlewares e controladores estão operando conforme o planejado. Isso é vital para um desenvolvimento robusto e confiável.
Conceito Fundamental (7 min)
O Postman é uma plataforma amplamente utilizada para desenvolvimento e teste de APIs. Ele possibilita enviar diferentes tipos de requisições (GET, POST, PUT, DELETE, etc.) a um servidor e analisar as respostas. A terminologia inclui Collections (conjuntos de requisições), Environments (variáveis de ambiente), Tests (scripts para validar respostas), e Pre-request Scripts (scripts executados antes da requisição).
Em produção, o Postman é usado para testes de integração, testes de carga, monitoramento de APIs e documentação automatizada. Ele se integra com diversas tecnologias, como frameworks de teste (Mocha, Chai), sistemas de CI/CD (Jenkins, GitLab CI) e ferramentas de monitoramento (New Relic).
A principal vantagem do Postman é sua interface intuitiva e recursos poderosos. Como desvantagem, a versão completa possui funcionalidades pagas, embora a versão gratuita seja suficiente para a maioria das tarefas.
Implementação Prática (10 min)
Vamos criar um servidor Express simples e testá-lo com o Postman.
// server.js
const express = require('express');
const app = express();
const port = 3000;
app.get('/hello', (req, res) => {
res.json({ message: 'Olá, mundo!' });
});
app.listen(port, () => {
console.log(Servidor rodando em http://localhost:${port});
});
Execute o servidor com node server.js.
No Postman:
- Crie uma nova requisição GET para
http://localhost:3000/hello. - Clique em “Send”.
- Verifique o corpo da resposta, que deve ser
{ "message": "Olá, mundo!" }.
Vamos adicionar um teste simples:
// Aba "Tests" no Postman
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Response body contains 'Olá, mundo!'", function () {
pm.expect(pm.response.json().message).to.eql("Olá, mundo!");
});
Execute a requisição novamente e verifique os testes na aba “Test Results”.
Exercício Hands-On (5 min)
Crie um novo endpoint POST /user que recebe um JSON com nome e email e retorna o mesmo JSON com um ID gerado aleatoriamente. Teste com o Postman enviando um JSON no corpo da requisição e validando a resposta.
Solução:
// server.js (adicione este código)
app.use(express.json()); // Middleware para processar JSON
app.post('/user', (req, res) => {
const { nome, email } = req.body;
const id = Math.floor(Math.random() * 1000);
res.json({ id, nome, email });
});
No Postman, crie uma requisição POST para http://localhost:3000/user. No corpo (Body), selecione “raw” e “JSON”. Insira um JSON como { "nome": "João", "email": "[email protected]" }. Execute a requisição e valide a resposta.
Troubleshooting: Certifique-se de que o middleware express.json() está sendo usado. Verifique se o corpo da requisição está formatado corretamente como JSON. Observe o console do servidor para eventuais erros.
Próximos passos: Explore as outras funcionalidades do Postman, como Collections, Environments e Pre-request Scripts. Aprenda a usar bibliotecas de asserção como Chai.js para testes mais complexos.
🚀 Pronto para a próxima aula?
Continue sua jornada no desenvolvimento de APIs e domine Node.js & Express!