JUnit Plug'in Tests

manuelle

Mitglied
Hallo zusammen,

ich muss einpaar Junit Tests führen, aber habe das noch nie gemacht. Jetzt kommt noch hinzu das es Plugin basiert sein muss! Wie macht man das den am besten, sollte man eher die Test in Fragment bundles, in bundles oder im selben package zu testenden codes ablegen? Und wo liegen die unterschiede, was für abhängigkeiten enstehen?

Gruß
 

manuelle

Mitglied
ja danke dir, die habe ich auch gelesen hat mir aber nicht wirklich weitergeholfen.

jetzt versuch ich es mit Maven, Maven trennt den Projektcode physisch vom Code der Unit-Tests. Die
liegen parallel in unterschiedlichen Quell-Verzeichnissen und die kompilierten Klassen werden in unterschiedlichen Verzeichnissen verwaltet. Genauso sind die Konfiguration der Unit-Tests und die dazugehörigen Ressourcen
vom restlichen Code getrennt. Eignet sich also ganz gut.
 
G

Gonzo17

Gast
Maven ansich ist in der Hinsicht sicherlich praktisch. Ich mach es auch gerne mit Maven.

ABER nicht bei Eclipse-Plugins. Das Problem liegt gewissermaßen an zwei Stellen. Zuerst einmal sind Versionsnummern in OSGi und Maven unterschiedlich und auch nicht wirklich kompatibel. Und außerdem gibt es noch keine vernünftige Möglichkeit Eclipse Products mit Maven zu bauen. Da wird gerade an Tycho gearbeitet, aber mein letzter Stand war, dass es keine echte Alternative zu Buckminster ist (Buckminster überzeugt mich aber auch nicht wirklich).

Solltest du dein Plugin (oder gar Produkt?) automatisiert zur Verfügung stellen wollen, dann musst du es mit Buckminster oder Tycho bauen. Wie oben erwähnt wäre Tycho die (Noch-)Nicht-Reife Maven-Variante. Buckminster funktioniert mit Ant.
 

manuelle

Mitglied
danke dir für die Infos, ja genau ich muss es durch einsatz Tycho testen, also automatisiert. Wenn ich die Probleme mit dem Build Plan beseitigt habe "Could not calculate build plan:...." das immer wieder auftaucht wenn ich versuche ein Projekt zu erstellen, dann werde ich mir angucken wie es genau aussieht mit Tycho.

Ist das so eine Art automatischer runner wie pax runner bsw? Wäre dankbar für weitere Tipps

Grüße
 

manuelle

Mitglied
Diese Fehlermeldung kriege ich immer :autsch:
vielleicht weisst du ja auf dem ersten Blick woran es liegen kann??

Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5
Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5
 
M

maki

Gast
Maven ansich ist in der Hinsicht sicherlich praktisch. Ich mach es auch gerne mit Maven.

ABER nicht bei Eclipse-Plugins. Das Problem liegt gewissermaßen an zwei Stellen. Zuerst einmal sind Versionsnummern in OSGi und Maven unterschiedlich und auch nicht wirklich kompatibel. Und außerdem gibt es noch keine vernünftige Möglichkeit Eclipse Products mit Maven zu bauen. Da wird gerade an Tycho gearbeitet, aber mein letzter Stand war, dass es keine echte Alternative zu Buckminster ist (Buckminster überzeugt mich aber auch nicht wirklich).

Solltest du dein Plugin (oder gar Produkt?) automatisiert zur Verfügung stellen wollen, dann musst du es mit Buckminster oder Tycho bauen. Wie oben erwähnt wäre Tycho die (Noch-)Nicht-Reife Maven-Variante. Buckminster funktioniert mit Ant.
Das geht mittlerweile mit Tycho ganz gut, auch gibt es Plugins die nun die Versionsnummer in der POM an die im Manifest anpassen (anstatt umgelehrt wie bei Maven üblich).

Allerdings ist das nicht trivial und man soltle schon fundierte Maven und Eclipse RCP Kenntnisse haben.
Tycho ist so gar nciht maven-like, da werden die konventionen umgeworfen, der Lifecycle abgeändert etc. pp.
Wenn man weder versteht wie Eclipse RCP gebaut wird noch wie Maven arbietet tut man sich immer noch sehr schwer.

Ansonsten gitb es natürlich noch Probleme mit Maven/Tycho, ist aber besser als noch vor ein paar Jahren.

manuelle, wie gut kennst du dich denn mit Maven und Eclipse RCP aus?
Die Maven Fehlermeldung deutet darauf hin dass deine Repo konfig nicht stimmt.

Ach ja, ohne Repo Manager wie zB. Nexus braucht man Maven gar nicht erst zu betreiben in einer Firma, und für Eclipse RCP/Tycho sollte man in der lage sein eigene P2 Repos zu bauen und zu deployen (zB. auf einem Apache), Target Konfigs sollte man auch ohne Wizard ändern können.

Alles in allem keine Aufgabe für Einsteiger.
 

manuelle

Mitglied
Ich bin Einsteiger, also null Erfahrung in dem Themengebiet. Trotzdem muss ich das machen.

ja kann sein, ich weiss aber nicht wie man es macht. Ich die neuester MAven Version gespeichert und alles mögliche soweit in Eclipse integriert, die Settings.xml habe ich auch angepasst!

wenn ich Maven aus dem Terminal heraus starte steht da, dass keine Pom in diesem directory ist!

das repo wurde automatisch erstellt, soweit habe ich nichts daran geändert, oder muss ich da auch was ändern/setzten.??

Kannst du mir ein Link oder Literatur empfehlen?
 
G

Gonzo17

Gast
Das geht mittlerweile mit Tycho ganz gut, auch gibt es Plugins die nun die Versionsnummer in der POM an die im Manifest anpassen (anstatt umgelehrt wie bei Maven üblich).

Ok, dann bin ich da möglicherweise nicht auf dem neusten Stand. Aber wie du sagst, es ist alles andere wie trivial. Es ist ja schon mit Buckminster unheimlich schwer (oder gar unmöglich) sein Produkt einfach, intuitiv, wartbar und problemlos automatisiert bauen zu lassen. Mich wundert es immer wieder, dass es jetzt nach Jahren nicht schon bessere Alternativen gibt, als ich vor über drei Jahren das erste Mal darauf gestoßen bin sah es kaum besser aus...
 
M

maki

Gast
Ich bin Einsteiger, also null Erfahrung in dem Themengebiet. Trotzdem muss ich das machen.
Du meinst "soll", nicht "muss".

Maven:
Maven - External Resources on Maven
Tycho:
Tycho/Reference Card - Eclipsepedia

Ansonsten eben die Doku/Beispiele lesen/verstehen.

Artifactory Open Source Overview) oder eben Nexus (Sonatype.org: Nexus) als Repo manager.

P2 repo Mirroring: Equinox p2 Repository Mirroring - Eclipsepedia
P2 repo erstellen: Creating a p2 Repository from Features and Plugins Developers, Developers, Developers!

Würde dir empfehlen, dich erstmal in OSGi/Eclipse RCP einzuarbeiten, dann in Maven/Tycho.
 
M

maki

Gast
Ok, dann bin ich da möglicherweise nicht auf dem neusten Stand. Aber wie du sagst, es ist alles andere wie trivial. Es ist ja schon mit Buckminster unheimlich schwer (oder gar unmöglich) sein Produkt einfach, intuitiv, wartbar und problemlos automatisiert bauen zu lassen. Mich wundert es immer wieder, dass es jetzt nach Jahren nicht schon bessere Alternativen gibt, als ich vor über drei Jahren das erste Mal darauf gestoßen bin sah es kaum besser aus...
Im Vergleich zu dem was vor 3 Jahren in tycho los war sind das heute mit Version 0.16.0 "goldene Zeiten" *g*

Ich persönlich finde Buckminster viel komplizierter als Tycho/maven, liegt aber daran, dass ich vorwissen habe was Maven betrifft.

Das Tycho Team will Tycho als Standard Eclipse RCP Build Tool einführen, das Buckminsterteam sieht das nciht so optimistisch ;)
 

manuelle

Mitglied
danke dir, ich schaue mir die Sachen mal an.

ja soll :) ich sollte schauen wie man besten testen kann auf OSGi basis testen kann.
Mit Junit allein kommt man nicht weiter, ist also keine große Hilfe!
 
M

maki

Gast
JUnit ist nicht OSGi spezifisch, hat damit erstmal nix zu tun.

"Reines" OSGi ist wieder eine andere Baustelle, Eclipse RCP ist schon eien speziellere Geschichte.
 
M

maki

Gast
Nur zur Klarstellung/Begriffsklärung (bevor es zu weiteren Verwirrungen kommt):
ich muss einpaar Junit Tests führen, aber habe das noch nie gemacht. Jetzt kommt noch hinzu das es Plugin basiert sein muss!
Mit "Plugins" sind in diesem Kontext immer nur Eclipse RCP Plugins gemeint.
OSGi Bundles nennt man eben nur OSGi Bundles.

In diesem Falle brauchst du kein Tycho, kannst auch zB. SpringDM, Apache Felix Plugins etc. pp. für Maven nehmen.
 
G

Gonzo17

Gast
Ich habe "Plugins" mit "Eclipse-Plugins" gleichgesetzt. Wenn du OSGi-Bundles meintest, dann ist das wieder was anderes. Und Eclipse RCP ist nochmal etwas anderes. Wenn du losgelöst von Eclipse bist, dann brauchst du weder Tycho noch Buckminster.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I OSGi JUnit Plug'in Tests von deklarativen Services Plattformprogrammierung 5
N Junit Plug-In Test Plattformprogrammierung 13
E Wie Junit mit Netbeans 8.1 verwenden ? Plattformprogrammierung 28
D Plugin - JUnit - Tests aus einem anderen Projekt ausführen Plattformprogrammierung 7
M JUnit 4.3.1 aus eclipse plugins durch junit 4.4 ersetzen Plattformprogrammierung 2
M Plugin JUnit Test Plattformprogrammierung 4
E OSGi Eclipse Plug-in programmierung: java.lang.NullPointerException: Cannot enter synchronized block because "profile" is null Plattformprogrammierung 4
J Eclipse Plug-In für UML-Diagramme Problem Plattformprogrammierung 4
lumo RCP bilder in Plug-Ins Plattformprogrammierung 4
P RCP Plug-in Wizard unter Indigo? Plattformprogrammierung 2
G Eclipse Plug-in: wie refreshe ich eine combobox? Plattformprogrammierung 4
M Eclipse Plug-in: Wie eine Grafik einfügen? Plattformprogrammierung 20
F Eclipse: Plug-In mit eigenen Bildern Plattformprogrammierung 6
F Eclipse: Plug-In mit Ecoding Problem Plattformprogrammierung 7
K Zugriff auf Oracle aus Eclipse Plug-In Plattformprogrammierung 7
J Wo finde ich die JFace Plug-ins? Plattformprogrammierung 2
D Eclipse Plug-In mit (plug-in) Project Wizard Plattformprogrammierung 2
A Overlay in View eines anderen Plug-Ins zeichnen Plattformprogrammierung 2
G WYSIWYG HTML Editor als Eclipse Plug-In Plattformprogrammierung 6
lumo Eclipse Plug-In: Editors und Views Plattformprogrammierung 3
lumo Eclipse 3.5 Plug-In für ein Plug-In Plattformprogrammierung 3
N import von Plug-in nicht Plattformprogrammierung 4
G Mehrere Sprachen im Plug-In anbieten Plattformprogrammierung 5
R Eclipse Plug-In Entwicklung Plattformprogrammierung 6
Saxony Eclipse RCP - Erstellungreihenfolge Plug-In und Fragmente Plattformprogrammierung 2
Saxony Referencen in Plug-In Fragment Plattformprogrammierung 4
U PDE Build Erros: "Missing required plug-in" obwohl vorhanden! Plattformprogrammierung 5
dzim Plug-Ins zur Laufzeit hinzufügen Plattformprogrammierung 12
byte Equinox - Klasse aus Plug-In wird nicht gefunden Plattformprogrammierung 3
B XML-File Parsen im Eclipse Plug-in Plattformprogrammierung 2
G neues project -> Plug-in project. Wie plugin starten? Plattformprogrammierung 6
R Integration von JDOM in Eclipse Plug-in Projekt? Plattformprogrammierung 7
Tobse Automatisierte Performance Tests Plattformprogrammierung 9

Ähnliche Java Themen


Oben