我有一个像这样的Ant脚本:
<target name="create_report_file">
<echo file="${testResultsDir}/test_report.xml">
<testsuite name="${platformTask}">
</testsuite>
</echo>
</target>
&lt; echo&gt;之间的标签是什么?和&lt; / echo&gt;意思? Ant会运行它们还是输出?或两者兼而有之?
答案 0 :(得分:1)
答案 1 :(得分:0)
你的Ant脚本是否有效?如果它试图执行create_report_file
目标呢?
通常,如果指定了file
参数,echo任务只是将内容回显到控制台或文件。
然而,正如所写,它使<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>
您可能正在使用某个具有<testsuite>
任务的Ant插件。我不知道这会是什么。 <testsuite>
任务不是JUnit或TestNG的一部分。但是,如果使用了定义<echo>
任务的Ant插件,它可能会重新定义它所在的<taskdef>
任务。您的构建脚本中是否包含<testsuite>
?如果是,那么课程参考是什么?
可能是用户在构建脚本中定义了自己的<echo>
宏。但是,这不会重新定义{{1}}任务,但仍然无效。