2011-07-29 24 views
6

Necesito definir una propiedad del sistema para mis pruebas JUnit. Intenté varios pasos para pasar el par nombre/valor a gradle. (He probado Milestone-3 y 4). Ninguno de estos enfoques funcionó:Cómo puedo agregar una propiedad del sistema Java durante la Ejecución de la prueba JUnit

  • definir un systemProp.foo = bar en las gradle.properties archivo
  • pasar -Dfoo = bar en la línea de comandos
  • pasar -PsystemProp.foo = bar en el línea de comando

No veo las propiedades adicionales de las "propiedades de gradle" aunque no estoy seguro de que deba hacerlo. Pero más importante aún, descargué System.properties en un inicializador estático y la propiedad no está allí. Necesito pasar las propiedades del sistema a las pruebas en ejecución para decirles en qué entorno (local, Jenkins, etc.) se están ejecutando.

Respuesta

9

Lamento contestar mi propia pregunta. Sólo tropezado con la solución here:

prueba { SystemProperties = System.properties }

+0

Gracias para ¡la respuesta! Estaba siendo golpeado por este extraño comportamiento también. Parece que debería ser la IMO predeterminada, no algo que todos necesitamos agregar ... – JoeG

1

También puede definir propiedades individuales como este:

test { 
    systemProperty "file", "test.story" 
} 

(Desde this answer)

Cuestiones relacionadas