Comment configurer un projet de test pour un projet de plug-in Eclipse
-
05-07-2019 - |
Question
Je travaille sur un plug-in eclipse et j'ai essayé de créer un autre projet de test à partir du plug-in. La raison pour laquelle je fais cela est de ne pas laisser le plug-in dépendre de jUnit lors de son exportation. Cependant, je ne peux pas accéder à l'API du plug-in Eclipse lorsque je fais les tests. À chaque fois que j'essaie d'ajouter des dépendances de plug-ins, la liste d'importation est vide.
Quelqu'un sait-il comment importer l'API de plug-in Eclipse dans un projet existant? La disposition de l'espace de travail ressemble à ceci à l'heure actuelle:
+- 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
La solution
La solution recommandée semble être d'utiliser des fragments de plug-in:
http://rcpquickstart.com/ 2007/06/20 / plug-ins-tests-avec-fragments /
Le fragment obtient un haut degré d'accès au code de votre plugin et sépare la logique / les dépendances de test du plugin lui-même.
Maintenant, si seulement je pouvais trouver un moyen de les tester dans un système automatisé ... (voir: Automatisation des tests unitaires (junit) pour le développement du plug-in Eclipse )
Autres conseils
Vous pouvez exporter la dépendance de plug-in à partir du projet de plug-in. Le moyen le plus simple est le suivant:
-
Accédez à vos propriétés de projet
com.foo.plugin
-
Accédez au chemin de construction Java > Commande et exportation
-
Vérifiez l'entrée Dépendances du plug-in
Le projet de test devrait désormais pouvoir utiliser l'API de plug-in sans avoir à utiliser toute la configuration de plug-in requise pour un projet de plug-in.
Vous pouvez essayer d’ajouter le plugin nature à votre nouveau projet myplugin.test.
Dans votre fichier .project:
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
[...]
</natures>
Ensuite, dans le .classpath, ajoutez:
<classpath>
[...]
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
[...]
</classpath>
Supprimez votre myplugin.test de l'espace de travail, réimportez ce projet et voyez si cela vous convient ...