Java Ant不支持batchtest元素内部的循环
我想在命令行中定义要运行的单元测试。测试是在基于Java包的逻辑结构中定义的。在命令行中,我想定义测试运行中要包含哪些Java包(即要包含哪些测试) 通过这种方式,我希望循环遍历路径值的标记化列表,并包括来自这些路径的Java测试。但是,batchtest元素不支持嵌套for循环。我怎样才能修改它来做我想做的事?因此,包含的数量与定义的路径值一样多 更新: 我定义的目标如下:Java Ant不支持batchtest元素内部的循环,java,ant,junit,Java,Ant,Junit,我想在命令行中定义要运行的单元测试。测试是在基于Java包的逻辑结构中定义的。在命令行中,我想定义测试运行中要包含哪些Java包(即要包含哪些测试) 通过这种方式,我希望循环遍历路径值的标记化列表,并包括来自这些路径的Java测试。但是,batchtest元素不支持嵌套for循环。我怎样才能修改它来做我想做的事?因此,包含的数量与定义的路径值一样多 更新: 我定义的目标如下: <target name="test"> <property name="path" valu
<target name="test">
<property name="path" value="**"/>
<junit fork="yes" failureproperty="true" forkmode="once">
<formatter type="xml" />
<classpath>
<pathelement path="bin.path"/>
</classpath>
<batchtest haltonerror="false" todir="${test.dir}">
<fileset dir="/src/test/">
<for list="${path}" param="path">
<sequential>
<var name="path" value="@{path}"/>
<include name="**/${path}/**/*.java" />
</sequential>
</for>
</fileset>
</batchtest>
</junit>
您可以使用正则表达式 比如,
<batchtest haltonfailure="yes" todir="/test">
<fileset dir="/build/classes/"
includes="**/TestBlaBla.class" excludes="**/BlaBla.class" />
</batchtest>
我希望它对您有所帮助。我实际上已经在使用文件集和正则表达式,如“*/${path}/.java。问题是$path是列表中的一个标记,因此必须循环列表才能检索所有路径值。如果您给出了确切的“目标”,我可以为ant脚本提供帮助。我认为这对您很有用,不需要一个列表路径列表来逐个添加。root/**将根下的所有路径添加到类路径中。不是吗?