蚂蚁中<echo>和</echo>之间的标签

时间:2013-07-08 13:25:03

标签: ant

我有一个像这样的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会运行它们还是输出?或两者兼而有之?

2 个答案:

答案 0 :(得分:1)

文件是echo parameter。这是将消息写入的文件。

testsuite可能是一个JUnit任务。

Ant目标运行测试套件并将结果输出到test_report.xml文件。

答案 1 :(得分:0)

你的Ant脚本是否有效?如果它试图执行create_report_file目标呢?

通常,如果指定了file参数,echo任务只是将内容回显到控制台或文件。

然而,正如所写,它使<testsuite><echo/>任务的子实体,而不是<echo/>任务。实际上,<echo>任务中没有记录的子实体。事实上,<condition/>甚至不会像<fail/>那样执行<target name="create_report_file"> &lt;echo file="${testResultsDir}/test_report.xml"&gt; &lt;testsuite name="${platformTask}"&gt; &lt;/testsuite&gt; </echo> </target> 子实体任务。

这就是为什么我要问你的构建文件是否正常工作。

看来他们可能想记录正在执行的测试套件。有两种方法可以做到这一点:

全部改变&lt;和&gt;字符实体:

<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}}任务,但仍然无效。