Как передать системные свойства -D при тестировании в Eclipse?


95

Я разрабатываю Eclipse в Windows, а код развертывается в Unix. Я получаю значения системных свойств с помощью System.getProperty ("key") ... Как передать это в Eclipse, чтобы мне не пришлось изменять код, и он работал в Eclipse для отладки?

Какие-либо предложения?

Ответы:


135

Выполнить -> Выполнить конфигурации, выбрать проект, вторая вкладка: «Аргументы». Верхнее поле предназначено для вашей программы, нижнее поле - для аргументов виртуальной машины, например -Dkey=value.


1
где это, если вы пытаетесь запустить приложение для Android?
— user678392

почему я должен использовать "D" в качестве префикса?
— Manticore

28
Если вы такой же толстый, как я, аргументы -D помещаются в нижнее поле для аргументов виртуальной машины , а не в верхнее поле для аргументов вашей программы. /
— sigh

2
Верхнее поле предназначено для String[] argsпереданного mainметоду.
— jaco0646

7
Есть ли способ установить это по умолчанию, чтобы вам не приходилось вручную вводить это повторно для многих тестов?
— Стюарт,

44

Вы можете использовать java System.properties, чтобы использовать их из eclipse, вы можете:

  1. Добавьте -Dlabel="label_value"аргументы теста виртуальной машины Run Configurationследующим образом:

eclipse_vm_config

  1. Затем запустите тест:

    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. Наконец, он должен пройти тест и вывести это в консоль:

    label_value
    

13

Вы можете добавить аргументы командной строки в конфигурацию запуска. Просто отредактируйте конфигурацию запуска и добавьте -Dmyprop = value (или что-то еще) в поле аргументов виртуальной машины.


4
Если вы имели в виду «окно аргументов программы», когда сказали «поле аргументов командной строки» на вкладке «Аргументы» - не работает! Должен быть введен в поле «VM Arguments Box», как упомянуто выше Bombe.
— Деванг Камдар

4

запустить конфигурацию -> аргументы -> аргументы vm

(также можно поместить в конфигурацию отладки в разделе Конфигурация отладки-> Аргументы-> Аргументы ВМ)



0

Да, это способ:

Щелкните правой кнопкой мыши по своей программе, выберите запустить -> запустить конфигурацию, затем по аргументу vm.

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

Потом можно подать заявку и закрыть.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.