3

我有一个带有 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>
4

2 回答 2

6

你有没有尝试过:

 <junit fork="true" printsummary="yes" dir="workingdir">
于 2008-10-30T15:40:03.653 回答
0

我认为其他答案可能忽略了您希望指定工作目录的事实,而不仅仅是您想在特定目录上运行 junit。换句话说,您要确保如果测试创建的文件没有路径信息,它来自您指定的基本目录。

尝试将您想要的目录作为 JVM arg 传递给 junit,覆盖user.dir

 <junit fork="true" ...>
   <jvmarg value="-Duser.dir=${desired.current.dir}"/>
    ....
于 2008-10-30T16:58:19.003 回答