0

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

1 回答 1

0

您可以使用正则表达式。

例如;

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

我希望它对你有帮助。

于 2012-11-19T11:53:38.907 回答