2010-12-14 5 views
0

Ich entwickle ein Eclipse-Plugin und nutze Maven, um meine Quellstruktur zu koordinieren. Um das Plugin zu kompilieren benutze ich die Tycho-Erweiterung für Maven. Wie auch immer, ich habe mich gefragt, wie man Vereinigungen ausführt.Binäre Ausgabe und Testen für Eclipse-Plugins

Ich möchte das Surefire-Plugin zum Testen verwenden, da ich zusätzlich einen Sonar-Server für das Quellcode-Qualitätsmanagement verwende. Wenn ich eclipse-test-plugin als Paket-Ziel verwende, werden Unitests angewendet. Ich möchte jedoch das standardmäßige Surefire-Plugin für die Anwendung von Unittests verwenden.

Jetzt habe ich herausgefunden, dass der src/test/java, der meine Unittest-Pakete enthält, gelesen und korrekt kompiliert wird, aber in den falschen Ausgabeordner geschrieben wird. Ich muss die Tests in Ziel/Test-Klassen haben. Sie werden jedoch nach Ziel/Klassen kompiliert.

Da ich neu zu Eclipse-Plugin-Entwicklung und Maven bin, konnte ich nicht herausfinden, wie Sie die Tests in den richtigen Ausgabeordner schreiben. Ich habe bereits versucht, die build.properties des Eclipse-Plugin-Projekts hinzuzufügen und zu ändern. Es funktioniert auch gut für andere Projekte, die keine Plugin-Projekte sind und Tycho nicht verwenden.

Jede Hilfe wird geschätzt.

Regards, Florian

Antwort

1

Im Gegensatz zu Standard maven Projekte ist die Konvention für die Eclipse-Plugins/OSGi Bündel Tests in separaten Projekten residieren zu haben. Dies liegt daran, dass es in OSGi keinen "Abhängigkeitsumfang" von maven gibt. Wenn Sie also Ihre Tests im selben Projekt wie der getestete Code aufbewahren, würden Sie Testcode/Abhängigkeiten und einen produktiven Code/Abhängigkeiten verwechseln.

Wie bereits erwähnt, bietet Tycho einen separaten Maven-Verpackungstyp "eclipse-test-plugin", den Sie für dedizierte Test-Plugins/Fragmente verwenden sollten. Siehe https://docs.sonatype.org/display/TYCHO/PackagingTypes

In Tycho gibt es keine Unterstützung für Plain Unit-Tests, die sich im selben Projekt befinden.

+0

Danke für die Antwort. Ich habe herausgefunden, wie man die Tests durchführt, und es funktioniert gut, daher kann ich Sonar nur Unit-Test-Statistiken hinzufügen, aber das ist nicht so wichtig. – Florian