Як передавати властивості системи -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.