My Ant build включает в себя задачу junit, выполняющую некоторые тесты. Для того, чтобы тесты работали, значение свойства, которое указывает текущий рабочий каталог (user.dir
), необходимо изменить, но я не уверен, как это сделать.
Задача, о которой идет речь, выглядит следующим образом:
<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>
Обратите внимание, что я попытался использовать атрибут "dir" и "jvmarg" для изменения рабочего каталога на C:/workspace/obp-web. Однако, когда я запускаю Ant с включенным подробным выходом, я вижу следующий вывод, который указывает, что рабочий каталог не установлен правильно:
[junit] атрибут dir игнорируется при запуске в той же виртуальной машине
[junit] Использование свойств системы{java.runtime.name = Java (TM) SE Runtime Окружающая среда, 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\Пб java.vm.vendor = Sun Microsystems Inc., java.vendor.url = http://java.sun.com/, path.separator =;, java.vm.name = Java HotSpot (T M) Клиентская 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 = спецификация виртуальной машины 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\одобрил, os.arch = x86, java.io.tmpdir = C:\Users\Донал\AppData\Local\Temp \ line.separator =