Ant 在调用 Junit 进行单元测试时,单元测试有时需要依赖与特殊 classpath 以及环境变量,比如依赖 cobertura 插针后的 class ,需要依赖与特殊的 LD_LIBRARY_PATH 等。
<junit fork="yes" showoutput="yes" maxmemory="1024m" dir="${basedir}" failureProperty="test.failed">
<classpath location="${instrumented.dir}" />
<classpath refid="junit-master-classpath" />
<formatter type="xml" usefile="true" />
<test name="${testcase}" todir="${reports.junit}" if="testcase" />
<batchtest todir= "${reports.junit}" unless= "testcase" >
<fileset dir= "${src.test.dir}" >
<include name= "**/*Test.java" />
</fileset>
</batchtest>
</junit>
方法是在 junit 里面加入 jvmarg 。
<junit fork="yes" showoutput="yes" maxmemory="1024m" dir="${basedir}" failureProperty="test.failed">
<jvmarg value="-Dlog.home=C:/log" />
<test name="${testcase}" todir="${reports.junit}" if="testcase" />
<batchtest todir= "${reports.junit}" unless= "testcase" >
<fileset dir= "${src.test.dir}" >
<include name= "**/*Test.java" />
</fileset>
</batchtest>
</junit>