Olá, Francisco!
Neste curso, o foco foi em testes de unidade para o método POST do controller. Para os demais métodos HTTP (GET, PUT, DELETE, etc.), a lógica é similar. Vou te dar um exemplo de como você poderia testar um método GET:
@Test
public void deveriaRetornar200ParaGet() throws Exception {
//ARRANGE
Long id = 1L;
//ACT
var response = mvc.perform(
get("/adocoes/" + id)
.contentType(MediaType.APPLICATION_JSON)
).andReturn().getResponse();
//ASSERT
Assertions.assertEquals(200, response.getStatus());
}
Neste exemplo, estamos testando um método GET que busca uma adoção pelo seu ID. A lógica é bem similar ao teste do POST que foi feito no curso, mas agora estamos usando o método get() do MockMvc e passando a URL do recurso que queremos buscar.
Quanto à verificação do conteúdo retornado, você pode utilizar o método getContentAsString() do objeto response, como mencionado na aula. Com ele, você consegue obter o conteúdo retornado pela requisição em forma de String. Você pode então comparar essa String com o conteúdo esperado. Veja um exemplo:
@Test
public void deveriaRetornarConteudoCorretoParaGet() throws Exception {
//ARRANGE
Long id = 1L;
String conteudoEsperado = "{ \"id\": 1, \"nome\": \"Nome do Pet\", ... }"; // preencha com o conteúdo esperado
//ACT
var response = mvc.perform(
get("/adocoes/" + id)
.contentType(MediaType.APPLICATION_JSON)
).andReturn().getResponse();
//ASSERT
Assertions.assertEquals(conteudoEsperado, response.getContentAsString());
}
Neste exemplo, estamos verificando se o conteúdo retornado pela requisição GET é o esperado.
Quanto a cursos mais completos, a Alura tem uma formação completa de Spring que aborda testes de unidade, testes de integração e TDD. Recomendo dar uma olhada!
Espero ter ajudado e bons estudos!