📡 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 HttpClient do 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. 🚀


⬅️ Capítulo Anterior | Próximo Capítulo ➡️