¿Cómo pasar las propiedades del sistema -D durante la prueba en Eclipse?


93

Estoy desarrollando en Eclipse en Windows y el código se implementa en Unix. Estoy obteniendo los valores de las propiedades del sistema usando System.getProperty ("clave") ... ¿Cómo paso esto en Eclipse para no tener que modificar el código y funciona en Eclipse para la depuración?

¿Alguna sugerencia?

Respuestas:


133

Ejecutar -> Ejecutar configuraciones, seleccionar proyecto, segunda pestaña: "Argumentos". El cuadro superior es para su programa, el cuadro inferior es para argumentos de VM, por ejemplo -Dkey=value.


1
¿Dónde está esto si está intentando ejecutar una aplicación de Android?
user678392

¿Por qué tengo que usar 'D' como prefijo?
Manticore

28
Si eres tan grueso como yo, los argumentos -D van en el cuadro inferior para los argumentos de VM , no en el cuadro superior para los argumentos de tu programa. / suspiro
ruffin

2
El cuadro superior es para String[] argspasar al mainmétodo.
jaco0646

7
¿Hay alguna forma de configurar esto para que suceda de forma predeterminada, de modo que no tenga que ingresar manualmente esto repetidamente para muchas pruebas?
Stewart

44

Puede usar java System.properties, para usarlos desde eclipse podría:

  1. Agregue -Dlabel="label_value"los argumentos de la máquina virtual de la prueba de Run Configurationesta manera:

eclipse_vm_config

  1. Luego ejecuta la prueba:

    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. Finalmente, debería pasar la prueba y mostrar esto en la consola:

    label_value

13

Puede agregar argumentos de línea de comando a su configuración de ejecución. Simplemente edite la configuración de ejecución y agregue -Dmyprop = value (o lo que sea) al cuadro de argumentos de VM.


4
Si quiso decir "cuadro de argumentos del programa" cuando dijo "cuadro de argumentos de línea de comandos" en la pestaña Argumentos, ¡no funciona! Debe ingresarse en el "Cuadro de argumentos de VM" como lo mencionó Bombe anteriormente.
Devang Kamdar

4

ejecutar configuración -> argumentos -> argumentos vm

(también se puede colocar en la configuración de depuración en Configuración de depuración-> Argumentos-> Argumentos de VM)


1

Esto funcionará para junit. para TestNG use el siguiente comando

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

0

Sí, este es el camino:

Haga clic derecho en su programa, seleccione ejecutar -> ejecutar configuración y luego en el argumento vm

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

Entonces puedes aplicar y cerrar.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.