ich hoffe meine Erklärung ist nicht komplizierter als es eh schon ist ;-):
Mein Setup/Projekt: gwt-maven-Projekt mit folgernder Struktur:
parent
--Hauptmodul(gwt, webanwendung, war)
--Integrationstest
(Ich schreib erstmal was ich will und weiter unten wie ich es umgesetzt hab)
Plan ist im Integrationstestmodul Seleniumtests zu machen. Und zwar so: Die Seleniumtests sollen alle im IT-Modul untergebracht sein. Die Seleniumtests sollen nicht im default Profil laufen sondern müssen explizit aktiviert werden. Cargo:run soll im Hauptmodul funktionieren (wenn der Container läuft sollten die Seleniumtests auch aus Eclipse heraus laufen oder?)
Bei Aktivierung der Seleniumtests soll cargo irgendwann nach "package" des Hauptmoduls starten und irgendwann nach "integration-test" des IT-Moduls stoppen.
Was wäre euer Vorschlag für diesen Use-Case?
Im Moment läuft es ich finde es aber sehr unschön:
- im parent ist cargos Minimalkonfiguration (tomcat7x, ports) in plugin-management eingetragen
- Im Hauptmodul wird in "pre-integration-test" (alles nach "package" ginge wahrscheinlich) cargo gestartet und die war-Datei deployed (in einigen Profilen wird ein andere war-Name gesetzt)
- im It- Modul wird der Test in "integration-test" ausgeführt (per fail-safe) und cargo wird in post-integration-test gestoppt (man muss cargo sagen wo der container ist - verweis auf das hauptmodul)
- das automatische starten und stoppen inklusive des "includes" der Seleniumtests (**/*Selenium.java) passiert in einem Profil mit Aktivierung "-DseleniumTest=true"
Warum ich es unschön finde (für die die es schön finden 🙂): Die Konfiguration von Cargo ist nun in alle drei Module verteilt. Optimal wäre so eine übergreigfende Geschichte im parent untergebracht. Das Problem ist, dass z.B. die war-Namen im Hauptmodul geändert werden (im Profil ci und release):
Kann ich aus dem parent auf properties der module zurückgreifen? (module1.project.artifactid) Oder kann ich allgemein auf porperties der module zurückgreifen?
Damit würde ich dann viel zentralisieren können. Oder denke ich einfach völlig falsch?
Mein Setup/Projekt: gwt-maven-Projekt mit folgernder Struktur:
parent
--Hauptmodul(gwt, webanwendung, war)
--Integrationstest
(Ich schreib erstmal was ich will und weiter unten wie ich es umgesetzt hab)
Plan ist im Integrationstestmodul Seleniumtests zu machen. Und zwar so: Die Seleniumtests sollen alle im IT-Modul untergebracht sein. Die Seleniumtests sollen nicht im default Profil laufen sondern müssen explizit aktiviert werden. Cargo:run soll im Hauptmodul funktionieren (wenn der Container läuft sollten die Seleniumtests auch aus Eclipse heraus laufen oder?)
Bei Aktivierung der Seleniumtests soll cargo irgendwann nach "package" des Hauptmoduls starten und irgendwann nach "integration-test" des IT-Moduls stoppen.
Was wäre euer Vorschlag für diesen Use-Case?
Im Moment läuft es ich finde es aber sehr unschön:
- im parent ist cargos Minimalkonfiguration (tomcat7x, ports) in plugin-management eingetragen
- Im Hauptmodul wird in "pre-integration-test" (alles nach "package" ginge wahrscheinlich) cargo gestartet und die war-Datei deployed (in einigen Profilen wird ein andere war-Name gesetzt)
- im It- Modul wird der Test in "integration-test" ausgeführt (per fail-safe) und cargo wird in post-integration-test gestoppt (man muss cargo sagen wo der container ist - verweis auf das hauptmodul)
- das automatische starten und stoppen inklusive des "includes" der Seleniumtests (**/*Selenium.java) passiert in einem Profil mit Aktivierung "-DseleniumTest=true"
Warum ich es unschön finde (für die die es schön finden 🙂): Die Konfiguration von Cargo ist nun in alle drei Module verteilt. Optimal wäre so eine übergreigfende Geschichte im parent untergebracht. Das Problem ist, dass z.B. die war-Namen im Hauptmodul geändert werden (im Profil ci und release):
Code:
<warName>${project.artifactId}</warName>
Kann ich aus dem parent auf properties der module zurückgreifen? (module1.project.artifactid) Oder kann ich allgemein auf porperties der module zurückgreifen?
Damit würde ich dann viel zentralisieren können. Oder denke ich einfach völlig falsch?