Ant JUnit Batchtest .java或.class

时间:2014-03-25 16:44:10

标签: java ant junit

我看到一些链接似乎暗示可以从.java文件而不是.class执行JUnit测试

例如

<junit printsummary="yes" haltonfailure="yes" haltonerror="yes">
        <classpath refid="ui.tests.classpath"/>
        <formatter type="xml"/>
        <batchtest todir="${env.WORKSPACE}/UITests/output">
            <fileset dir="${ui.tests.classes}">
                <include name="**/*Test.java"/>
            </fileset>
        </batchtest>
</junit>

而不是

<junit printsummary="yes" haltonfailure="yes" haltonerror="yes">
        <classpath refid="ui.tests.classpath"/>
        <formatter type="xml"/>
        <batchtest todir="${env.WORKSPACE}/UITests/output">
            <fileset dir="${ui.tests.classes}">
                <include name="**/*Test.class"/>
            </fileset>
        </batchtest>
    </junit>

第一个例子是有效案例吗?由于ClassNotFoundExceptions

,我无法使其正常工作

1 个答案:

答案 0 :(得分:3)

我同意上面的评论,看起来标签允许.java或.class。

我做了一个小测试,当我使用此设置运行测试时 - dir=somefolder,然后当指向的文件夹包含类文件时使用<include name="**/*Test.java"/>,那么Ant基本上会有一个空文件集处理* Test.java,但是当使用<include name="**/*Test.class"/>时,文件集不为空,测试用例将会运行。

这是我快速测试的结果。据我所知,看起来你需要指定* Test.class来拾取测试用例。