Sie müssen Framework Arquillian von jboss selbst http://www.mastertheboss.com/jboss-frameworks/arquillian/arquillian-tutorial verwenden.
Was dieses Framework tut, ist dies: im Hintergrund wird die Instanz von jboss erstellt. Alles wird dort bereitgestellt, sodass Sie dann Ihre EJBs oder Servlets auf diesem "Hintergrund" -Container ausführen können.
Es ist nicht einfach, es zu konfigurieren, also würde ich Ihnen empfehlen, mit Jboss Tools für Eclipse zu beginnen. Code sieht dann wie folgt aus:
@Deployment
public static Archive<?> createTestArchive() {
return ShrinkWrap.create(WebArchive.class, "test-demo.war")
.addAsResource("META-INF/persistence.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}
ich nicht diesen Ansatz bevorzugen, es ist wirklich ein separater Einsatz, müssen Sie vollständig die Struktur von WAR und EJB-Pakete verstehen und alle anderen Details.
Es ist wirklich besser, dass Ihre EJBs, JPAs und Servlet-Beans nur leichte Wrapper um normale Java-Klassen (POJOs) sind, wo die wahre Logik liegt. Dann können Sie diese Tests mit einfachen Unit-Tests durchführen.
Suchen Sie nach [Arquillian] (http://www.arquillian.org), dem Integration Testing Framework für Wildfly? Oder suchen Sie nach dem, was in der Stackoverflow-Frage zu [Einbetten des EJB-Containers in Komponententests] (http://stackoverflow.com/questions/24310912/arquillian-vs-ejb-embeddable-container) diskutiert wurde? – fxnn
Hallo @fxnn, das wäre die zweite Option, ich habe viele Beiträge mit dem gleichen Code gefunden, aber es scheint, dass es eine andere Einstellung abhängig von der AS, die Sie verwenden, in meinem Fall ist es Wildfly. – codenoob
Sie können das [wildfly-maven-plugin] (https://docs.jboss.org/wildfly/plugins/maven/latest/) verwenden, um den Server während der Tests zu starten und ihn nach Abschluss der Tests herunterzufahren. –