我看到一些链接似乎暗示可以从.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
,我无法使其正常工作答案 0 :(得分:3)
我同意上面的评论,看起来标签允许.java或.class。
我做了一个小测试,当我使用此设置运行测试时 - dir=somefolder
,然后当指向的文件夹包含类文件时使用<include name="**/*Test.java"/>
,那么Ant基本上会有一个空文件集处理* Test.java,但是当使用<include name="**/*Test.class"/>
时,文件集不为空,测试用例将会运行。
这是我快速测试的结果。据我所知,看起来你需要指定* Test.class来拾取测试用例。