Estou usando o JUnit para criar os testes dos meu aplicativo, que é uma API de serviços SOAP, ou seja, para rodar ele preciso estar com um servidor “ligado” e com a minha aplicação deployada.
Existe alguma maneira de criar testes para esse cenário com o JUnit?
P.S.: Estou usando o Spring-Core e o Spring-WS.
Desde já agradeço a ajuda prestada.
[quote=Jedi_FeniX]Estou usando o JUnit para criar os testes dos meu aplicativo, que é uma API de serviços SOAP, ou seja, para rodar ele preciso estar com um servidor “ligado” e com a minha aplicação deployada.
Existe alguma maneira de criar testes para esse cenário com o JUnit?
P.S.: Estou usando o Spring-Core e o Spring-WS.
Desde já agradeço a ajuda prestada. [/quote]
Com o JUnit e com qualquer outro framework de testes… basta você usar um Mockito / EasyMock / qualquer coisa parecida para, ao invés do serviço real, você usar mocks. Isso fica ainda mais fácil usando Spring, porque aí, você pode setar o ambiente e, ao fazer a injeção de dependências, você injeta o mock ao invés do stub real.
[]'s
O meu problema seria exatamente esse como fazer o spring injetar o serviço para ser testado, ou seja, como criar um contexto aonde o serviço está on-line.
O serviço está na própria aplicação, é isso? Geralmente, nestes casos, você separa os teus testes em testes de integração e testes unitários - e testes de integração rodam com o ambiente “em pé”.
É o caso?
Seria isso mesmo.
Estive refletido um pouco sobre esta pergunta e vi que posso criar os testes unitários das classes Endpoints sem criar esse contexto.
[quote=Jedi_FeniX]Seria isso mesmo.
Estive refletido um pouco sobre esta pergunta e vi que posso criar os testes unitários das classes Endpoints sem criar esse contexto.[/quote]
Se estiver usando Maven, em teoria (em teoria) é só criar os testes que vão usar estes serviços online com o sufixo IT. Se estiver usando outro… não sei =)
[]'s