JUnit官方文档声明:
junitreport使用嵌套元素收集JUnit任务生成的各个xml文件。
同一页面的其他部分说明:
<junitreport todir="./reports">
<fileset dir="./reports">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="./report/html"/>
</junitreport>
将在目录报告中生成TESTS-TestSuites.xml文件 并在目录report / html中生成默认的框架报告。
假设我在“reports”目录中有junit task生成的TEST-all.xml文件。我想将它用作junitreport任务的数据源:
<fileset dir="./reports">
<include name="TEST-all*.xml"/>
</fileset>
我希望能够生成基于我的数据的html报告。
我试着去做。生成了空TESTS-TestSuites.xml文件,因此是空的html文件。
我上面引用的两个文档语句在某种程度上相互矛盾:第一个说它将使用已生成的文件来创建报告,第二个说它将生成新文件。有人可以解释它是如何工作的吗?如何控制将使用哪些数据源生成html报告?
感谢。
答案 0 :(得分:0)
尝试使用-debug运行ant。我怀疑
<include name="TEST-all*.xml"/>
不匹配任何文件。请尝试
<fileset dir="./reports">
<include name="TEST-*.xml"/>
</fileset>
答案 1 :(得分:0)
好吧,我弄清楚问题是什么:文件TEST-all.xml是以错误的格式生成的。似乎正确的格式是:
<testsuite>
<testcase classname="..." name="..." ...>
<properties>
<property name="..."/>
</properties>
</testcase>
</testsuite>
但是,它并没有完全解决问题。 html报告仍未正确生成:
尽管文件TESTS-TestSuits.xml现在不是空的并且包含所有必要的测试&#39;信息,HTML报告的主页(index.html)仍显示0测试。
如果我单击Tests列中的链接(本例中为0),则会打开测试列表,但如果我尝试在此页面中打开单个测试,则会出现&#34; File not found&#34;错误。
我怀疑问题仍然是TEST-all.xml的格式。我一直在寻找格式的描述,但在这里和那里只找到了一些信息。有什么想法吗?