Як передавати властивості системи -D під час тестування на Eclipse?


93

Я розробляю Eclipse у Windows, і код розгортається на Unix. Я отримую значення системних властивостей за допомогою System.getProperty ("ключ") ... Як передати це в Eclipse, щоб мені не потрібно було змінювати код, і він працює на Eclipse для налагодження?

Будь-які пропозиції?

Відповіді:


133

Виконати -> Виконати конфігурації, вибрати проект, друга вкладка: “Аргументи”. Верхнє поле - для вашої програми, нижнє поле - для аргументів ВМ, наприклад -Dkey=value.


1
де це, якщо ви намагаєтеся запустити додаток для android?
user678392

чому я повинен використовувати 'D' як префікс?
Мантікора

28
Якщо ви такі товсті, як я - аргументи -D перебувайте в нижньому полі для аргументів VM , а не у верхньому полі для аргументів вашої програми. / sigh
ruffin

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

7
Чи є спосіб встановити це за умовчанням, щоб вам не потрібно було вводити це вручну повторно для багатьох тестів?
Стюарт

44

Ви можете використовувати java System.properties, для їх використання від eclipse ви могли:

  1. Додайте -Dlabel="label_value"до аргументів VM тесту наступне 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 = значення (або будь-яке інше) у поле аргументів VM.


4
Якщо ви мали на увазі "Вікно програмних аргументів", коли ви говорили "поле аргументів командного рядка" на вкладці Аргументи - не працює! Потрібно ввести у "Вікно аргументів ВМ", як згадував Бомбе вище.
Devang Kamdar

4

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

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



0

Так, це так:

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

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.