junitreport ant任务生成的报告的源数据是什么?

时间:2014-06-21 20:51:00

标签: ant junit

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报告?

感谢。

2 个答案:

答案 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报告仍未正确生成:

  1. 尽管文件TESTS-TestSuits.xml现在不是空的并且包含所有必要的测试&#39;信息,HTML报告的主页(index.html)仍显示0测试。

  2. 如果我单击Tests列中的链接(本例中为0),则会打开测试列表,但如果我尝试在此页面中打开单个测试,则会出现&#34; File not found&#34;错误。

  3. 我怀疑问题仍然是TEST-all.xml的格式。我一直在寻找格式的描述,但在这里和那里只找到了一些信息。有什么想法吗?

相关问题