2012-11-10 12 views
6

Sto usando Netbeans con Maven e TestNG. Quando si esegue test con il plugin infallibile Maven, posso messa a punto alcuni parametri di configurazione, in particolare il livello di registrazione utilizzato per i miei test (trace):Come fare in modo che Netbeans utilizzi parametri JVM specifici durante l'esecuzione dei test?

-Dorg.slf4j.simpleLogger.defaultLogLevel=trace 
-Dorg.slf4j.simpleLogger.logFile=System.out 

Tuttavia, durante l'esecuzione di un file di prova specifica (CTRL + F6) o metodo di prova ("metodo di test focalizzato"), Netbeans non usa surefire (che è buono) e quindi ignora quei parametri.

C'è un modo per modificare i parametri JVM utilizzati da Netbeans quando esegue test in questo modo?

Questo è un po 'simile a this other post ma la mia domanda è specifica per Netbeans.

+0

NetBeans IDE: Aggiunta/modifica di argomenti della riga di comando JVM Potete trovare tutte le istruzioni qui: https://web.archive.org/web /20131217060421/https://blogs.oracle.com/charliebrown/entry/netbeans_ide_adding_changing_jvm – cristi

+0

Penso che queste siano le impostazioni per la JVM che esegue IDE. I test vengono eseguiti in un AFAIK JVM separato. – assylias

risposta

6

Dalla documentazione di Netbeans 7.2 (vedi Netbeans 7.2 changes, section Maven):

... Ora file di prova corre sempre Maven per impostazione predefinita, proprio come Test Project ...

Quale versione di Netbeans stai usando? Probabilmente dovresti semplicemente effettuare l'aggiornamento a 7.2.

+0

Buon punto - Sono in 7.2.1 ... Strano. – assylias

+0

Se creo una nuova classe di test ed eseguo 'test file', viene eseguito con Maven. Se lo eseguo una seconda volta, viene eseguito con Ant ... E 'eseguito il test focalizzato sembra funzionare sempre con la formica. – assylias

+0

Probabilmente è un bug di Netbeans. Dovresti segnalarlo se questo ticket non esiste già. –

5

Nelle proprietà del progetto, è possibile creare profili in Esegui. In questi profili è possibile personalizzare le Opzioni VM. È possibile aggiungere qui i parametri, creare una config di test ed eseguire config.

+0

Quando si utilizza Maven, sembra che questa opzione non possa essere modificata (se aggiungo VM Options, chiudi la finestra delle proprietà, riaprilo: le Opzioni VM sono di nuovo vuote). – assylias

+0

Penso che questo sia esattamente quello che stai cercando: http://stackoverflow.com/questions/10851534/how-to-set-system-properties-using-netbeans-7-2-and-maven –

+0

Il mio problema è che quando eseguo un test individuale, Netbeans non chiama Maven ma esegue direttamente il test (suppongo chiamando uno script ant sullo sfondo). Quindi la configurazione di Maven viene utilizzata solo durante il test dell'intero progetto. Ho già configurato Maven nel modo descritto nel tuo link. – assylias

1

Imposta la proprietà fork nella configurazione del plugin surefire in Maven. Questo avvierà una nuova JVM. Ora, la seconda parte è come leggere i parametri JVM che desideri nella nuova JVM. A seconda di ciò che si vuole fare, potrebbe essere necessario leggerli dall'ambiente.

+0

Non penso che abbia a che fare con il forkMode. I test che menziono sono in esecuzione con ant. – assylias

0

Nel mio caso sono andato a progetto/proprietà, quindi categoria "Azioni". Lì troverai le azioni "Test file" e "Debug test". Selezionali e posiziona le proprietà di cui hai bisogno nella casella "Imposta proprietà".

Non so se questo è applicabile solo per i progetti Maven ...

Problemi correlati