È necessario utilizzare framework arquillian da jboss stesso http://www.mastertheboss.com/jboss-frameworks/arquillian/arquillian-tutorial.
Ciò che questo framework fa è questo: in background viene creata l'istanza di jboss. Tutto viene distribuito lì in modo da poter quindi eseguire i tuoi ejb o servlet su quel contenitore "di sfondo".
Non è facile configurarlo, quindi ti consiglio di iniziare con Jboss Tools per eclipse. Codice è quindi in questo modo:
@Deployment
public static Archive<?> createTestArchive() {
return ShrinkWrap.create(WebArchive.class, "test-demo.war")
.addAsResource("META-INF/persistence.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}
io non favoriscono questo approccio, è davvero una distribuzione separata, è necessario comprendere appieno la struttura del WAR e pacchetti EJB e tutti gli altri dettagli.
È molto meglio, che i bean EJB, JPA e Servlet sono solo involucri di luce attorno alle normali classi java (POJO), dove risiede la vera logica. Quindi puoi usare semplici test unitari per testarli.
fonte
2016-05-18 07:21:46
Stai cercando [Arquillian] (http://www.arquillian.org), il framework di test di integrazione per Wildfly? O stai cercando ciò che è stato discusso nella domanda StackOverflow su [incorporare il contenitore EJB nei test unitari] (http://stackoverflow.com/questions/24310912/arquillian-vs-ejb-embeddable-container)? – fxnn
Ciao @fxnn, questa sarebbe la seconda opzione, ho trovato molti post con lo stesso codice, ma sembra che abbia un'impostazione diversa a seconda dell'AS che stai usando, nel mio caso è Wildfly. – codenoob
È possibile utilizzare il [wildfly-maven-plugin] (https://docs.jboss.org/wildfly/plugins/maven/latest/) per avviare il server durante i test e chiuderlo al termine dei test. –