2008-10-30 7 views
3

У меня есть сценарий Ant с целевой точкой junit, где я хочу, чтобы он запустил виртуальную машину с другим рабочим каталогом, чем на основе. Как мне это сделать?Как установить рабочий каталог для задачи <junit> на что-то другое, чем на основе?

Вот псевдо версия моей цели.

<target name="buildWithClassFiles"> 
    <mkdir dir="${basedir}/UnitTest/junit-reports"/> 
    <junit fork="true" printsummary="yes"> 
     <classpath> 
      <pathelement location="${basedir}/UnitTest/bin"/> 
      <path refid="classpath.compile.tests.nojars"/> 
     </classpath> 
     <jvmarg value="-javaagent:${lib}/jmockit/jmockit.jar=coverage=:html"/> 
     <formatter type="xml" /> 
     <test name="GlobalTests" todir="${basedir}/UnitTest/junit-reports" /> 
    </junit> 

</target> 

ответ

6

Вы пробовали:

<junit fork="true" printsummary="yes" dir="workingdir"> 
+0

Вы можете также установить forkonce = «истина», так что вы не раскошелиться на каждом испытании. – Dave 2010-10-13 15:46:32

0

Я думаю, что другие ответы могут быть с видом на тот факт, что вы хотите, чтобы рабочий каталог необходимо указать не только, что вы хотите запустить JUnit на определенном каталоге , Другими словами, вы хотите удостовериться, что если тест создает файл без информации о пути, это из базового каталога, который вы указываете.

Попробуйте перейти в директорию, которую вы хотите в качестве виртуальной машины Java арг к JUnit, перекрывая user.dir:

<junit fork="true" ...> 
    <jvmarg value="-Duser.dir=${desired.current.dir}"/> 
    .... 
+0

Собственно, мой ответ выше - сброс каталога. Аргумент «dir» задачи junit при использовании в комбинации с «fork» запускает виртуальную машину в указанном каталоге. – 2008-10-31 15:17:22