我有一个带有junit目标的Ant脚本,我希望它使用与basedir不同的工作目录来启动VM。我该怎么做?
这是我的目标的伪版本。
<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>
答案 0 :(得分:6)
你试过了吗?
<junit fork="true" printsummary="yes" dir="workingdir">
答案 1 :(得分:0)
我认为其他答案可能忽略了您希望指定工作目录的事实,而不仅仅是您想要在特定目录上运行junit。换句话说,您希望确保如果测试创建的文件没有路径信息,则它来自您指定的基本目录。
尝试将您想要的目录作为JVM arg传递给junit,覆盖user.dir
:
<junit fork="true" ...>
<jvmarg value="-Duser.dir=${desired.current.dir}"/>
....