📡 6.1 Introdução aos Testes de Web Services
Em arquiteturas modernas de Microserviços, o teste de interface (HTML) não é suficiente. Precisamos garantir que nossas APIs REST estão entregando os dados corretos nos formatos JSON ou XML.
🏁 O Ecossistema de Serviços
Serviços Web permitem que aplicações heterogêneas (Java, Node.js, Python, Mobile) se comuniquem via protocolo HTTP.
📄 Exemplo: Resposta JSON de Elite
[
{
"id": 1,
"email": "mauricio@aniche.com.br"
},
{
"id": 2,
"email": "guilherme@silveira.com.br"
}
]🏗️ O Framework REST-assured 5
Para automatizar a validação dessas mensagens, utilizaremos o REST-assured, a ferramenta líder de mercado para testes de API em Java. Ele permite escrever testes extremamente concisos e legíveis através de uma DSL (Domain Specific Language) fluída.
Por que REST-assured? 🛡️
Diferente de clientes HTTP genéricos (como o
HttpClientdo Java), o REST-assured já possui suporte nativo para parsing de JSON/XML e validações complexas em uma única linha de código. 🏁
📊 A Anatomia da Comunicação
sequenceDiagram participant T as Teste (REST-assured) participant S as Servidor API participant D as Banco de Dados T->>S: GET /usuarios (Accept: application/json) S->>D: SELECT * FROM Usuarios D-->>S: Result Set S-->>T: 200 OK + JSON Payload ✨
Dica de Ouro ⚡
Nos próximos capítulos, aprenderemos a usar as anotações do JUnit 5 junto com o REST-assured para criar baterias de testes de API ultra velozes. 🚀