junit 扑动:蚂蚁:使用refid时不能指定嵌套元素

5f0d552i  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(110)

在我的flutter项目中,我使用junitreport制作junit报告,但它是XML,

flutter test --machine | tojunit --output test.xml

现在通过Ant,我想从它生成Html。test.xml是我项目的根,这里我生成了build.xml:

<project name="genTestReport" default="gen" basedir=".">
  <description>
    Generate the HTML report from JUnit XML files
  </description>

  <path id="classpath">
    <pathelement location="/opt/homebrew/opt/ant/1.10.12/junit/junit-4.13.2.jar"/>
  </path>
  <target name="gen">
    <property name="genReportDir" location="${basedir}/unitTestReports"/>
    <delete dir="${genReportDir}"/>
    <mkdir dir="${genReportDir}"/>
    <junit printsummary="true" showoutput="true" fork="true">
      <classpath refid="classpath">
        <fileset dir="${basedir}">
          <include name="test.xml"/>
        </fileset>
      </classpath>
      <formatter type="xml"/>
    </junit>
    <junitreport todir="${basedir}/unitTestReports">
      <fileset dir="${basedir}" includes="test.xml"/>
      <report format="frames" todir="${genReportDir}/html"/>
    </junitreport>
  </target>
</project>

现在我在根文件夹中运行此命令:

alt@Alis-MBP rr-front % ant -buildfile build.xml
Buildfile: /Users/alt/Projects/rr-front/build.xml

gen:
   [delete] Deleting directory /Users/alt/Projects/rr-front/unitTestReports
    [mkdir] Created dir: /Users/alt/Projects/rr-front/unitTestReports
BUILD FAILED
/Users/alt/Projects/RentReady/rr-portal-front/build.xml:13: You must not specify nested elements when using refid

我看起来需要一些配置吗?

wmvff8tz

wmvff8tz1#

<junit>任务只是用于运行测试,您已经在Ant外部完成了这些测试。因此,我认为在本例中,您只需要<junitreport> task就可以将xml转换为html。
出现错误的原因是您将文件集放在了junit任务的类路径中:

<classpath refid="classpath">
  <fileset dir="${basedir}">
    <include name="test.xml"/>
  </fileset>
</classpath>

当你使用refid时,就像你在类路径中那样,你说的是“使用这个引用来定义类路径”。因此,如果你使用refid***和***定义带有嵌套元素的类路径,就会有冲突。

相关问题