Domanda

Sto lavorando a un plug-in eclipse e ho provato a creare un altro progetto di test separato dal plug-in. Il motivo per cui lo faccio è non lasciare che il plug-in dipenda da jUnit quando viene esportato. Tuttavia, non riesco ad accedere all'API del plug-in Eclipse quando eseguo i test. Ogni volta che provo ad aggiungere dipendenze plug-in l'elenco di importazione a quello è vuoto.

Qualcuno sa come importare l'API del plug-in Eclipse in un progetto esistente? Il layout dell'area di lavoro è simile al momento:

+- 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
È stato utile?

Soluzione

Il modo consigliato di dirlo sembra essere con i frammenti del plug-in:

http://rcpquickstart.com/ 2007/06/20 / unit test-plug-in-con-frammenti /

Il frammento ottiene un alto grado di accesso al codice del plug-in e separa la logica / le dipendenze del test dal plug-in stesso.

Ora, se solo potessi trovare un modo per testarli in un sistema automatizzato ... (vedi: Automatizzare unit test (junit) per lo sviluppo del plugin Eclipse )

Altri suggerimenti

È possibile esportare la dipendenza plug-in dal progetto plug-in. Il modo più semplice è così:

  1. Vai alle com.foo.plugin proprietà del progetto

  2. Vai a Percorso build Java > Ordina ed esporta

  3. Controlla la voce Dipendenze plug-in

Il progetto di test dovrebbe ora essere in grado di utilizzare l'API plug-in senza la necessità di utilizzare tutta la configurazione del plug-in richiesta per un progetto plug-in.

Potresti provare ad aggiungere la natura del plugin al tuo nuovo progetto myplugin.test.

Nel tuo file .project:

<natures>

        <nature>org.eclipse.pde.PluginNature</nature>
        [...]
</natures>

Quindi, nel percorso .class, aggiungi:

<classpath>
        [...]
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
        [...]
</classpath>

Elimina il tuo myplugin.test dallo spazio di lavoro, reimporta quel progetto e vedi se lo fa il trucco ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top