Wie richte ich ein Testprojekt für ein Eclipse-Plugin-Projekt auf
-
05-07-2019 - |
Frage
Ich arbeite an einem Eclipse-Plug-in und ich habe versucht, ein anderes Testprojekt getrennt von der Plug-in zu erstellen. Der Grund, warum ich dies tun, ist nicht das Plug-in auf jUnit hängen zu lassen, wenn es exportiert wird. Allerdings kann ich Zugriff auf die Eclipse-Plug-in-API nicht, wenn ich die Prüfung durchführen. Jedes Mal, wenn ich versuche, Plug-in hinzuzufügen Abhängigkeiten der Importliste das ist leer.
Wer weiß, wie Eclipse-Plug-in-API in ein vorhandenes Projekt zu importieren? Das Arbeitsbereich-Layout wie dies im Moment aussieht:
+- com.foo.myplugin
| |
| +- JRE System Library
| |
| +- Plug-in Dependencies
| |
| +- src
| |
| +- icons, META-INF, plugin.xml, etc...
|
+- com.foo.myplugin.test
|
+- JRE System Library
|
+- JUnit 4
|
+- src
Lösung
Die recomended Weise ding scheint mit Plug-in-Fragmenten zu sein:
http://rcpquickstart.com/ 2007/06/20 / Einheit-Test-Plug-Ins-with-Fragmente /
Das Fragment wird mit einem hohen Grad von Zugriff auf Ihren Plugins Code und trennt die Testlogik / Abhängigkeiten vom Plugin itsself.
Jetzt nur, wenn ich einen Weg finden, könnte sie in einem automatisierten System zu testen ... (siehe: Automatisieren von Unit-Tests (jUnit) für Eclipse Plugin-Entwicklung )
Andere Tipps
Sie können die Plug-in Abhängigkeit von dem Plug-in-Projekt exportieren. Der einfachste Weg ist wie folgt:
-
Gehen Sie zu Ihrer
com.foo.plugin
Projekteigenschaft -
Zur Java Build Path> Auftrag und Export
-
Überprüfen Sie die Plug-in-Abhängigkeiten Eintrag
Das Testprojekt soll nun in der Lage sein Plugin-API zu verwenden, ohne die Notwendigkeit, all Plugin-Konfiguration für ein Plugin Projekt erforderlich zu verwenden.
Sie könnten versuchen, die Plugin Natur zu Ihrem neuen myplugin.test Projekt hinzuzufügen.
In Ihrer .project-Datei:
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
[...]
</natures>
Dann in der .classpath hinzu:
<classpath>
[...]
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
[...]
</classpath>
Löschen Sie Ihre myplugin.test aus dem Arbeitsbereich, Re-Import, das Projekt und sehen, ob das funktioniert der Trick ...