2009-10-12 14 views
14

Sto scrivendo una libreria Java con un sacco di codice jni. Praticamente ogni caso di test ha bisogno di caricare la mia jni dll e ho molti casi di test. Per eseguire i test case dal launcher di Eclipse, devo creare una configurazione run/debug e modificare gli argomenti VM e le variabili di ambiente.Impostazioni predefinite per le configurazioni di esecuzione di Eclipse

Vorrei un modo per impostare gli argomenti VM e le variabili di ambiente su un valore predefinito per l'intero progetto e le nuove configurazioni di esecuzione includono le voci predefinite. Da quello che posso dire, Execution Environments forse fa qualcosa del genere ma mi sembra che abbia bisogno del PDE per farli funzionare (?)

In particolare, voglio abilitare asserzioni sul mio progetto di default e includere il percorso verso il mio dll nativo nella variabile d'ambiente PATH. Non posso utilizzare l'impostazione "Argomenti VM predefiniti" nel pannello di definizione di JRE perché la mia DLL dipende da un numero di altri e java.library.path non viene utilizzato per la risoluzione delle dipendenze, PATH lo è. C'è un modo per far fare a Eclipse quello che voglio?

risposta

1

Quanto tempo è necessario per eseguire tutti i test per il progetto?

Se la risposta è Not long, quindi creare un launcher JUnit a livello di progetto. Se occasionalmente dovresti eseguire una corsa su un singolo caso di test (per eseguire il debug o qualcosa del genere), puoi copiare tutte le tue impostazioni dal launcher di junit del progetto. Penso che puoi persino clonare il tuo launcher di progetto per eseguire un test case specifico.

  1. Esegui-> Esegui Configurazioni ...
  2. Crea nuovo lanciatore JUnit.
  3. Nella scheda 'Test' selezionare Run all tests in selected {...}
  4. opzioni Connfigure JVM, classpath, ambiente, ecc per questo lanciatore
  5. opzionale, ma altamente raccomandato. Su Common scheda ->Save as ->Shared file, e il check-in con il launcher vostro progetto

Una cosa che vorrei fare è quello di definire una proprietà di sistema nel launcher argomenti VM, verificare la presenza di questa struttura a @Before funzione e genera eccezione se la proprietà non è impostata. In questo modo saprai che il tuo test fallisce perché non sta usando il launcher giusto.

+0

La duplicazione e la modifica di un caso di test sono meno efficaci rispetto alla creazione da zero. Non è esattamente quello che speravo, ma in base a quanto è stato discusso finora, è la risposta più fattibile. – gibbss

+0

Debole (su parte di Eclipse). Ciò significa che non puoi semplicemente fare clic con il pulsante destro del mouse -> Esegui come test di junit. Lo faccio regolarmente e così ho dozzine di configurazioni di corsa. –

+0

è così divertente che stavo per andare qui e iniziare il mio commento con "debole!" pure. cercherò di aggiungere questa caratteristica mancante me stesso. –

0

Se ho capito bene la tua domanda, penso che Alexander sia d'accordo con la clonazione del launcher del progetto. Eclipse ti consente di duplicare le configurazioni di avvio con un solo clic: imposta semplicemente una configurazione con i parametri richiesti e fai clic sul pulsante in alto a sinistra per duplicarlo ogni volta che ne crei uno nuovo.

10

Quindi, ecco cosa ho fatto.

In primo luogo, il mio problema specifico era che ho molte configurazioni di corsa, ne creavo di nuove al volo e avevo bisogno di determinate proprietà di sistema impostate per i test delle unità. Impostarli nella scheda 'args' delle configurazioni di esecuzione era indesiderato per il mio flusso di lavoro. Inoltre, volevo che gli stessi argomenti della riga di comando fossero impostati per tutti i miei test. Inoltre, non eseguo la mia app dall'interno di eclipse. È solo un ambiente di sviluppo.

Quindi la mia soluzione era aggiungerla alla riga di comando del mio JRE. Preferenze -> Java -> JRE installati. Facendo clic su modifica si ottiene una finestra in cui è possibile specificare gli argomenti VM predefiniti. Ho appena impostato le proprietà di sistema di cui ho bisogno per testare lì.

Spero che questo aiuti.

Problemi correlati