我想在命令行中定义要运行的单元测试。测试是在基于 Java 包的逻辑结构中定义的。我想从命令行定义测试运行中要包含哪些 Java 包(即要包含哪些测试)。
通过这种方式,我想遍历路径值的标记化列表,并包含来自这些路径的 Java 测试。但是,batchtest 元素不支持嵌套的 for 循环。我怎样才能修改它来做我想做的事?因此,包含的数量与定义的路径值一样多。
更新:
我已经定义了这样的目标:
<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>