JUnit官方文档说明:
junitreport使用嵌套元素收集JUnit任务生成的单个xml文件。
同一页面的其他部分说明:
<junitreport todir="./reports">
<fileset dir="./reports">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="./report/html"/>
</junitreport>
将在目录reports中生成一个tests - testsuite .xml文件并在report/html目录下生成默认的框架报告。
假设我在"reports"目录下有一个由junit任务生成的TEST-all.xml文件。我想用它作为junitreport任务的数据源:
<fileset dir="./reports">
<include name="TEST-all*.xml"/>
</fileset>
我希望基于我的数据生成html报告。
我试过了。生成空的tests - testsuite .xml文件,结果生成空的html文件。
我上面引用的两个文档语句在某种程度上相互矛盾:第一个说它将使用已经生成的文件来创建报告,第二个说它将生成新文件。有人能解释一下它是怎么工作的吗?我如何控制将用于生成html报告的数据源?
谢谢。
尝试使用-debug运行ant。I suspect
<include name="TEST-all*.xml"/>
不匹配任何文件。请输入
<fileset dir="./reports">
<include name="TEST-*.xml"/>
</fileset>
好了,我找到了问题所在:文件TEST-all.xml以错误的格式生成。似乎正确的格式是:
<testsuite>
<testcase classname="..." name="..." ...>
<properties>
<property name="..."/>
</properties>
</testcase>
</testsuite>
但这并没有完全解决问题。html报告仍然没有正确生成:
尽管文件tests - testsuits .xml现在不是空的,并且包含了所有必要的测试信息,但HTML报告(index.html)的主页面仍然显示0个测试。
如果我单击测试列中的链接(在本例中为0),它将打开测试列表,但如果我尝试在此页面中打开单个测试,我将得到"未找到文件"错误。
我怀疑问题仍然与TEST-all.xml格式有关。我一直在寻找格式的描述,但只找到零星的信息。什么好主意吗?