Eu criei os Pacotes test exatamente como o Instrutor indicou, mas as duas classe não são importadas no Main elas estão funcionando normal.
eu não queria pegar o projeto da aula anterior pois gostaria de entender o que está acontecendo!
package br.com.alura.service;
//essa classe
import br.com.alura.clientHTTP.ClientHTTPConfiguration;
//e nem essa
import br.com.alura.service.AbrigoServce;
import br.com.alura.domain.Abrigo;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.net.http.HttpResponse;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class AbrigoServiceTest {
private ClientHttpConfiguration client = mock(ClientHttpConfiguration.class);
private AbrigoService abrigoService = new AbrigoService(client);
private HttpResponse<String> response = mock(HttpResponse.class);
private Abrigo abrigo = new Abrigo("Teste", "61981880392", "abrigo_alura@gmail.com");
![Insira aqui a descrição dessa imagem para ajudar na acessibilidade](https://cdn1.gnarususercontent.com.br/1/4567627/b646fcc2-f350-4ae6-8f7e-6d0778bab12d.png) @Test
public void deveVerificarSeDispararRequisicaoGetSeraChamado() throws IOException, InterruptedException {
abrigo.setId(0L);
String expectedAbrigosCadastrados = "Abrigos cadastrados:";
String expectedIdENome = "0 - Teste";
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream printStream = new PrintStream(baos);
System.setOut(printStream);
when(response.body()).thenReturn("[{"+abrigo.toString()+"}]");
when(client.dispararRequisicaoGet(anyString())).thenReturn(response);
abrigoService.listarAbrigo();
String[] lines = baos.toString().split(System.lineSeparator());
String actualAbrigosCadastrados = lines[0];
String actualIdENome = lines[1];
Assertions.assertEquals(expectedAbrigosCadastrados, actualAbrigosCadastrados);
Assertions.assertEquals(expectedIdENome, actualIdENome);
}
}