Tive a curiosidade de olhar a cobertura dos testes, e me deparei com esse resultado. Acredito que, ao passar uma String vazia ou incorreta, a própria validação feita com o @Valid já devolve um BadRequest, então ele nem se quer entra no bloco de código do método solicitar
A maneira que fez sentido para mim, foi lançar a exceção quando o service chama o método solicitar
BDDMockito.doThrow(ValidacaoException.class).when(adocaoService).solicitar(dto);
A dúvida que ficou foi se essa abordagem não fere nenhum principio dos testes de unidade e se existe uma forma melhor de testar isso