我想在命令行中定义要运行的单元测试。测试在基于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>
答案 0 :(得分:0)
你可以使用正则表达式。
例如;
<batchtest haltonfailure="yes" todir="/test">
<fileset dir="/build/classes/"
includes="**/TestBlaBla.class" excludes="**/BlaBla.class" />
</batchtest>
我希望对你有所帮助。