1
resposta

Como o Rest assured funciona quando tenho um serviço externo real?

Olá,

Assistindo o curso me surgiu uma dúvida, quando eu estiver codando os testes da minha aplicação que faz request em um serviço externo real, como o serviço de busca de endereços do correio pelo CEP, por exemplo, no get() preciso colocar a url completa do serviço ou só endpoint basta?

Como o RestAssured consegue achar o host? Em um serviço real, tem alguma configuração via o application.yml de teste que devo incluir?

1 resposta

Olá, estudante!

Quando você está codificando os testes da sua aplicação que fazem requests em um serviço externo real, como o serviço de busca de endereços do correio pelo CEP, por exemplo, é necessário colocar a URL completa do serviço no método get() do RestAssured.

O RestAssured não consegue "achar" o host automaticamente em um serviço real. É preciso fornecer a URL completa para que o RestAssured saiba para onde enviar a requisição.

Não é necessário incluir nenhuma configuração específica no arquivo application.yml de teste para o RestAssured funcionar com um serviço externo real. Basta fornecer a URL correta no método get() e o RestAssured fará a requisição para o serviço.

Por exemplo, se você estiver fazendo uma requisição para o serviço de busca de endereços do correio pelo CEP, você pode utilizar o seguinte código:

import io.restassured.RestAssured;
import io.restassured.response.Response;

public class ExemploRestAssured {
    public static void main(String[] args) {
        String url = "https://api.correios.com.br/busca-cep?cep=12345678";
        
        Response response = RestAssured.get(url);
        
        // Aqui você pode realizar as validações necessárias no response
    }
}

Lembre-se de substituir a URL de exemplo pelo endpoint correto do serviço que você está utilizando.

Espero ter ajudado e bons estudos!