我有一个像这样的 Ant 脚本:
<target name="create_report_file">
<echo file="${testResultsDir}/test_report.xml">
<testsuite name="${platformTask}">
</testsuite>
</echo>
</target>
<echo> 和 </echo> 之间的标签是什么意思?Ant 会运行它们还是输出?或两者?
我有一个像这样的 Ant 脚本:
<target name="create_report_file">
<echo file="${testResultsDir}/test_report.xml">
<testsuite name="${platformTask}">
</testsuite>
</echo>
</target>
<echo> 和 </echo> 之间的标签是什么意思?Ant 会运行它们还是输出?或两者?
你的 Ant 脚本有效吗?如果它试图执行create_report_file
目标怎么办?
file
通常,如果指定了参数,回显任务只是将内容回显到控制台或文件。
但是,正如所写,它<testsuite>
是任务的子实体,<echo/>
但不是。事实上,任务中没有记录的子实体<echo/>
。事实上,<echo>
它甚至不会<condition/>
像那样承担子实体任务<fail/>
。
这就是为什么我要问您的构建文件是否正常工作。
看来他们可能想要记录正在执行的测试套件。有两种方法可以做到这一点:
<target name="create_report_file">
<echo file="${testResultsDir}/test_report.xml">
<testsuite name="${platformTask}">
</testsuite>
</echo>
</target>
<echoxml>
代替<echo>
:<target name="create_report_file">
<echoxml file="${testResultsDir}/test_report.xml">
<testsuite name="${platformTask}">
</testsuite>
</echoxml>
</target>
您可能正在使用一些有<testsuite>
任务的 Ant 插件。我不知道这会是什么。该<testsuite>
任务不是 JUnit 或 TestNG 的一部分。但是,如果使用了定义<testsuite>
任务的 Ant 插件,它可能会重新定义<echo>
它所在的任务。你的构建脚本里面有<taskdef>
吗?如果是这样,类参考是什么?
可能是用户<testsuite>
在您的构建脚本中定义了自己的宏。但是,这不会重新定义<echo>
任务,它仍然行不通。