Jak przekazać właściwości systemu -D podczas testowania na Eclipse?

95

Piszę na Eclipse na Windows, a Code zostaje wdrożony na Unixie. Pobieram wartości właściwości systemowych za pomocą System.getProperty („klucz”) ... Jak przekazać to w Eclipse, aby nie musieć modyfikować kodu i działa na Eclipse do debugowania?

Jakieś sugestie?

Devang Kamdar
źródło

Odpowiedzi:

135

Uruchom -> Uruchom konfiguracje, wybierz projekt, druga zakładka: „Argumenty”. Górne pole jest przeznaczone dla twojego programu, dolne jest dla argumentów VM, np -Dkey=value.

Bombe
źródło
1
gdzie to jest, jeśli próbujesz uruchomić aplikację na Androida?
user678392
dlaczego muszę używać „D” jako prefiksu?
Manticore
28
Jeśli jesteś tak gruby jak ja - argumenty -D znajdują się w dolnym polu dla argumentów VM , a nie w górnym polu dla argumentów twojego programu. / westchnienie
ruffin
2
Górne pole jest przeznaczone na String[] argsprzekazanie do mainmetody.
jaco0646
7
Czy istnieje sposób, aby ustawić to domyślnie, aby nie trzeba było ręcznie wprowadzać tego wielokrotnie w przypadku wielu testów?
Stewart
44

Możesz użyć javy System.properties, do używania ich z eclipse możesz:

  1. Dodaj -Dlabel="label_value"argumenty VM testu w Run Configurationnastępujący sposób:

eclipse_vm_config

  1. Następnie uruchom 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. Na koniec powinien przejść test i wyprowadzić to w konsoli:

    label_value
    
madx
źródło
13

Możesz dodać argumenty wiersza poleceń do konfiguracji uruchamiania. Po prostu edytuj konfigurację uruchamiania i dodaj -Dmyprop = wartość (lub cokolwiek) do pola argumentów maszyny wirtualnej.

izb
źródło
4
Jeśli miałeś na myśli „Pole argumentów programu”, gdy powiedziałeś „pole argumentów wiersza poleceń” w zakładce Argumenty - nie działa! Musi zostać wpisane w "VM Arguments Box", jak wspomniał Bombe powyżej.
Devang Kamdar
4

uruchom konfigurację -> argumenty -> argumenty maszyny wirtualnej

(można również umieścić w konfiguracji debugowania w obszarze Konfiguracja debugowania-> Argumenty-> Argumenty maszyny wirtualnej)

harry.huang
źródło
1

To zadziała dla junit. dla TestNG użyj następującego polecenia

-ea -Dmykey="value" -Dmykey2="value2"
Aniruddha Ghanekar
źródło
0

Tak, to jest sposób:

Kliknij prawym przyciskiem myszy program, wybierz uruchom -> uruchom konfigurację, a następnie argument vm

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

Następnie możesz złożyć wniosek i zamknąć.

NiteshJain007
źródło