Olá, tudo bem?
Queria ver se alguém me dava a dica se é possível fazer algo com os VRaptor Interceptors, no Google Guice eu podia instalar módulos diversos para ambientes diferentes, exemplo:
[list]No ambiente de testes eu instalo um módulo, nenhum outro módulo tem conhecimento do mesmo. Neste módulo eu configuro pra quando métodos forem disparados para uma classe anotada com uma dada anotação criada por mim, as requisições devem ser interceptadas por um interceptor X.[/list]
Quero fazer isso pois quero fazer uma espécie de mock, atualmente no meu projeto utilizamos o VRaptor para expor controladores através de REST, e para testar de forma integrada (disparando a requisição através da rede) eu precisei escrever um “gerador de requests” que conhece as URL’s mapeadas para cada controlador.
Quero construir um interceptador que se adiciona a stack de execução do VRaptor somente no ambiente de testes e através da definição do método em ResourceMethod, InterceptorStack e o objeto da instância que disparou a requisição, criar a requisição adequada para aquele determinado método. Assim eu simplificarei muito meu ciclo de desenvolvimento pois não precisarei escrever esse código de fazer a requisição mais e nem muito menos manter as URL’s em uma enumeração para cada método do controlador exposto.
Em outras palavras, quero que a construção da requisição HTTP fique disfarçada de chamada de método “nativo” Java.
Pensei que talvez eu possa também usar o Spring pra atingir esse objetivo pois ele consegue inicializar um contexto de dependência em uma classe de testes, existe algo equivalente para o VRaptor?
Obrigado.