Come passare le proprietà del sistema -D durante il test su Eclipse?


94

Sto sviluppando su Eclipse su Windows e il codice viene distribuito su Unix. Sto recuperando i valori delle proprietà di sistema utilizzando System.getProperty ("chiave") ... Come lo passo in Eclipse in modo da non dover modificare il codice e funziona su Eclipse per il debug?

Eventuali suggerimenti?

Risposte:


134

Esegui -> Esegui configurazioni, seleziona progetto, seconda scheda: "Argomenti". La casella in alto è per il tuo programma, la casella in basso è per gli argomenti della VM, ad es -Dkey=value.


1
dov'è questo se stai cercando di eseguire un'applicazione Android?
user678392

perché devo usare "D" come prefisso?
Manticore

28
Se sei spesso come me - -D gli argomenti vanno nella casella in basso per gli argomenti della VM , non nella casella in alto per gli argomenti del tuo programma. / sigh
ruffin

2
La casella in alto è per il String[] argspassaggio al mainmetodo.
jaco0646

7
C'è un modo per impostare che ciò accada per impostazione predefinita, quindi non è necessario inserirlo manualmente ripetutamente per molti test?
Stewart

44

Puoi usare java System.properties, per usarli da eclipse potresti:

  1. Aggiungi -Dlabel="label_value"gli argomenti della VM del test in Run Configurationquesto modo:

eclipse_vm_config

  1. Quindi esegui il test:

    import org.junit.Test;
    import static org.junit.Assert.assertEquals;
    
    public class Main {
        @Test
        public void test(){
            System.out.println(System.getProperty("label"));
            assertEquals("label_value", System.getProperty("label"));
        }
    }
  2. Infine dovrebbe superare il test e visualizzarlo nella console:

    label_value

13

È possibile aggiungere argomenti della riga di comando alla configurazione della corsa. Basta modificare la configurazione di esecuzione e aggiungere -Dmyprop = value (o qualsiasi altra cosa) alla casella degli argomenti VM.


4
Se intendevi "riquadro degli argomenti del programma" quando hai detto "riquadro degli argomenti della riga di comando" nella scheda Argomenti, non funziona! Deve essere inserito nella "casella degli argomenti VM" come menzionato sopra da Bombe.
Devang Kamdar

4

eseguire la configurazione -> argomenti -> vm argomenti

(può anche essere posizionato nella configurazione di debug in Configurazione di debug-> Argomenti-> Argomenti VM)


1

Questo funzionerà per junit. per TestNG utilizzare il seguente comando

-ea -Dmykey="value" -Dmykey2="value2"

0

Sì, questo è il modo:

Fare clic con il tasto destro sul programma, selezionare Esegui -> Esegui configurazione, quindi sull'argomento vm

-Denv=EnvironmentName -Dcucumber.options="--tags @ifThereisAnyTag"

Quindi puoi applicare e chiudere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.