junitreportant任务生成的报表的源数据是什么?



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报告仍然没有正确生成:

  1. 尽管文件tests - testsuits .xml现在不是空的,并且包含了所有必要的测试信息,但HTML报告(index.html)的主页面仍然显示0个测试。

  2. 如果我单击测试列中的链接(在本例中为0),它将打开测试列表,但如果我尝试在此页面中打开单个测试,我将得到"未找到文件"错误。

我怀疑问题仍然与TEST-all.xml格式有关。我一直在寻找格式的描述,但只找到零星的信息。什么好主意吗?

最新更新