我有一个像这样的 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>任务,它仍然行不通。