Mi compilación Ant incluye una tarea junit que ejecuta algunas pruebas. Para que las pruebas funcionen, user.dir
debe cambiarse el valor de la propiedad que especifica el directorio de trabajo actual ( ), pero no estoy seguro de cómo lograrlo.
La tarea en cuestión actualmente se ve así:
<junit printsummary=withOutAndErr fork=true
haltonfailure=yes showoutput=true
filtertrace=false dir=C:/workspace/obp-web>
<jvmarg value=-Duser.dir=C:/workspace/obp-web/>
<classpath>
<fileset dir=${web.lib.dir} includes=**/*.jar/>
<fileset dir=${lib.dir} includes=**/*.jar/>
</classpath>
<batchtest fork=no todir=${web.build.dir}/testresults>
<formatter type=xml/>
<zipfileset src=${web.build.dir}/test-obp-web.jar>
<include name=**/*Test.class/>
</zipfileset>
</batchtest>
</junit>
Tenga en cuenta que he intentado utilizar tanto el atributo dir como la tarea jvmarg para cambiar el directorio de trabajo a C: / workspace / obp-web. Sin embargo, cuando ejecuto Ant con la salida detallada activada, veo el siguiente resultado, que indica que el directorio de trabajo no se ha configurado correctamente:
atributo [junit] dir ignorado si se ejecuta en la misma máquina virtual
[junit] Uso de las propiedades del sistema {java.runtime.name = Java (TM) SE Runtime Environment, sun.boot.library.path = c: \ jdk6 \ jre \ bin, java.vm.version = 10.0-b23, ant. lib rary.dir = C: \ java \ apache-ant-1.7.0 \ lib, java.vm.vendor = Sun Microsystems Inc., java.vendor.url = http://java.sun.com/ , path. separator = ;, java.vm.name = Java HotSpot (TM) Client VM, file.encoding.pkg = sun.io, user.country = CA, sun.java.launcher = SUN_STANDARD, sun.os.patch.level = Service Pack 1, java.vm.specification.name = Especificación de máquina virtual de Java, user.dir = c: \ workspace \ obp-ear, java.runtime.version = 1.6.0_07-b06, java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment, java.endorse d.dirs = c: \ jdk6 \ jre \ lib \ endorsed, os.arch = x86, java .io.tmpdir = C: \ Users \ donal \ AppData \ Local \ Temp \, line.separator =