Seiten

Mittwoch, 29. Mai 2013

JavaEE – Arquillian – first version to play

Heute geht es um Arquillian und wie man ein Basisgerüst für die eigene Entwicklung aufbauen kann. Das Hier vorgestellte Projekt kann als Vorlage für eigene verwendet werden und ist die Vorbereitung für den eigenen Einsatz in einem neuen Projekt. Also kann ich es hier auch gleich ein wenig dokumentieren  ;-)
Hier in dem Projekt wird JDK 8 verwendet, die Konfiguration selbst ist aber bis auf die Compiler-Anweisung neutral.
kurz: Was ist Arquillian?
Arquillian ist ein Framework um Tests in den JEE-Containern selbst laufen zu lassen. Soll bedeuten: Es hilft dabei die jUnit-Tests in embedded oder lokal oder remote ApplikationsServern auszuführen.
Arquillian Homepage –> Unter Bitbucket - JavaEE – Arquillian sind alle Sourcen in einem Git-Repository.

Zu Beginn werden die Grundlagen in der pom.xml definiert. Wichtig hierbei ist, dass nur die generischen Teile global definiert werden, die containerabhängigen Dinge in den Profilen. Damit wird erreicht, das durch die Auswahl des Profils der Laufzeitcontainer gewechselt/definiert wird. In der Pom habe ich die Konfiguration für GlassFish, Jboss und einen einfachen Weld-Container hinterlegt.
Interessant ist der Abschnitt im Profil arquillian-jbossas-managed. Unter build->testRessourcen ist ein Beispiel zu sehen wie man für den jeweiligen Container eigene Ressourcen definiert.

Die nächste Konfigurationsstelle ist die Datei  test/ressourcen/arquillian.xml. Hier können die Container selbst mit Konfigurationen belegt werden. In diesem Beispiel habe ich für den jbossas-managed gezeigt, wie man auf eine eigene Version eines JBoss zugreifen kann. Das ist notwendig, wenn man in den Embedded-Tests z.B. Oracle Treiber für DataSourcen benötigt. Es werden also alle Konfigurationen verwendet, die man evtl schon vorgenommen hat.
image
Remote Test auf einem JBoss.
Um einen Test in einem Remote JBoss auszuführen, muss der Jboss zuerst gestartet werden. Wenn dieser hochgefahren ist, kann der Test via maven ausgeführt werden. In diesem Beispiel gehe ich davon aus, das der jboss auf localhost läuft.
In der Datei arquillian.xml unter jbossas-remot ist der Port für den Debugger zu setzen. in meinem Fall 52197 was der Defaulteinstellung unter IntelliJ entspricht.

Mit den Einstellungen kann schon begonnen werden. clean, compile, test. ;-)
Demnächst dann mehr mit praktischen Dingen…