Olá galera, estou com o seguinte problema,
Estou fazendo o teste de um web service em spring, tenho as seguintes classes:
Clase de teste: chama o endpoint de inclusao.
Classe endpoint: chama o serviço de inclusao.
Classe de inclusao: chama os serviços de validação, inclui o serviço e gera a resposta
Segue as classes:
public class InclusaoEndpointTest {
private InclusaoEndpoint inclusaoEndpoint = new InclusaoEndpoint();
private IncluirAverbacaoRequest request = new IncluirAverbacaoRequest();
@Test
public void testaServicoInclusaoAverbacao() {
// codigos de configuração da requisição
IncluirAverbacaoResponse retorno = inclusaoEndpoint.incluirAverbacao(request);
//Faz os asserts
}
}
public class InclusaoEndpoint {
@Autowired
@Qualifier("inclusaoService")
private InclusaoService inclusaoService;
public static final String NAMESPACE_URI = "url";
/**
* @param request
* @return
*/
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "IncluirAverbacaoRequest")
@ResponsePayload
public IncluirAverbacaoResponse incluirAverbacao(@RequestPayload IncluirAverbacaoRequest request) {
return inclusaoService.incluir(request);
}
}
@Service
public class InclusaoService {
@Autowired
private InclusaoConnection inclusaoConnection;
@Autowired
private InclusaoDePara inclusaoDePara;
/**
* @param request
* @return
*/
public IncluirAverbacaoResponse incluir(IncluirAverbacaoRequest request) {
// aqui chama os serviços que fazem as validações e montam a resposta e depois devolve ela
return incluirAverbacaoResponse;
}
}
Agora o meu problema: as classes utilizam a injeção de dependencias do spring, e quero saber como faço para que o spring injete as dependencias quando eu rodar a classe do teste?
Pois quando rodo o teste do jeito atual ele me devolve um NPE
OBS: Se eu instanciar na mão os atributos(objetos) o teste passa! Ex:
private InclusaoService inclusaoService = new InclusaoService();
Desde já agradeço a todos que se disponibilizarem a me ajudar.