Ant不支持batchtest元素中的循环

时间:2012-11-19 11:45:15

标签: java ant junit

我想在命令行中定义要运行的单元测试。测试在基于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>

1 个答案:

答案 0 :(得分:0)

你可以使用正则表达式。

例如;

<batchtest haltonfailure="yes" todir="/test">
        <fileset dir="/build/classes/"
                includes="**/TestBlaBla.class" excludes="**/BlaBla.class" />
</batchtest>

我希望对你有所帮助。