在我的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
我看起来需要一些配置吗?
1条答案
按热度按时间wmvff8tz1#
<junit>
任务只是用于运行测试,您已经在Ant外部完成了这些测试。因此,我认为在本例中,您只需要<junitreport>
task就可以将xml转换为html。出现错误的原因是您将文件集放在了junit任务的类路径中:
当你使用refid时,就像你在类路径中那样,你说的是“使用这个引用来定义类路径”。因此,如果你使用refid***和***定义带有嵌套元素的类路径,就会有冲突。