Pergunta

Quero pedir sua maneira preferida de testar o código Java EE?

Encontrei apenas três projetos, que estão tentando ajudar a codificar os testes de unidade no ambiente Java EE:

Então eu me pergunto,

  • Existe alguma estrutura ajudando a escrever (j) teste de unidade para o código Java EE?
  • Você usa servidores Java EE incorporados como JBoss ou Glassfish V3?
  • Você maquete e injeta sozinho?

Muito obrigado...

Foi útil?

Solução

Se por Teste de unidade Você quer dizer ... testes de unidade (testando uma unidade isoladamente), na verdade você não precisa de nenhuma estrutura específica, pois o EJB3.0 nada mais é do que Pojos anotados e, portanto, pode ser relativamente facilmente testado sem nenhum acessório especial.

Agora, se você quer dizer outra coisa - como Teste de integração ou Teste funcional - então, sim, as ferramentas podem ajudar e simplificar as coisas (mas você realmente deve começar a usar a terminologia certa :) Vou assumir que é isso que você tem em mente.

Primeiro, Junitee Parece morto e obsoleto e nem tenho certeza se tem nada para o ejb3.x. Segundo, não estou impressionado com o Suporte Java EE 5 do Cacto E ter que implantar testes de cacto é doloroso (acho que o cacto foi bom para o J2EE 1.4, mas está um pouco desatualizado agora). Então isso nos deixa com Ejb3Unit que é na minha opinião a melhor opção, especialmente se você quiser correr fora de contêiner Testes IE sem realmente implantar o aplicativo (muito mais rápido).

Se você quiser correr em contêiner Testes, então você pode realmente usar um recipiente incorporado e minha preferência atual é para o Glassfish V3, mesmo para o Java EE 5 (posso estar errado, mas estou muito decepcionado com o tempo de partida dos últimos lançamentos do JBoss, então não está ficando grande parte da minha atenção). Veja o post Glassfish incorporado recarregado, um servidor de aplicativos no seu bolso Para código de exemplo (que você pode usar em seus testes) ou Usando o plug -in maven para vidro incorporado V3 (se você estiver usando o maven).

Outra opção seria empacotar e implantar seu aplicativo com Carga e execute alguns testes no aplicativo implantado (com o Selenium ou uma ferramenta BDD, por exemplo). Isso pode ser útil se você deseja executar testes de ponta a ponta com um contêiner que não fornece nenhuma API incorporada.

Então, para responder sua última pergunta, eu realmente usaria ferramentas disponíveis, talvez uma combinação delas, para testes que não são testes de unidade e não zombariam/injetariam coisas, exceto se eles não cobrem algumas necessidades que eu puder Pense agora.

Outras dicas

Como você está interessado em testes de unidade, eu recomendo Junit. Você pode testar os métodos nas classes principais. Se você tiver dificuldade em escrever casos de teste de unidade usando o JUNIT, provavelmente o design não é modular e é altamente acoplado. Primeiro, foco na sua funcionalidade principal e teste -a usando o JUNIT.

Eu tenho enfrentado o mesmo problema de executar testes de integração com base no JUNIT em um contêiner Java EE 6 (Glassfish V3, para ser mais preciso) e, depois de muita navegação e pesquisa, não consegui encontrar uma solução que realmente me atendesse às necessidades , então eu escrevi o meu, agora publicado como Jeeunit no código do Google.

Eu não chamaria isso de estrutura de teste, é realmente apenas um punhado de aulas que fornecem a cola entre o Junit e o Glassfish incorporado.

A idéia geral é semelhante ao cacto, seus testes são executados no contêiner e são acionados por um servlet de fora.

A Jeeunit suporta Junit 4, Glassfish V3, CDI e gera os relatórios padrão do XML JUNIT, como Ant ou Maven Surefire (na verdade, reutilizei algum código da Ant para gerar os relatórios).

Eu tinha um requisito para testar um aplicativo CDI e escrevi um corredor Junit personalizado que executa tudo fora do contêiner da web.

http://jglue.org/cdi-unit/

É adequado para o Java SE e também suporta os escopos de solicitação, sessão e conversação da Dummy para testar aplicativos da Web.

É pequeno e rápido, o que é ótimo quando você tem muitos testes de unidade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top