Муравьиный узел xmltask, если
Моя новая проблема - теги условия if.
На самом деле, я не могу попасть в условие "тогда", когда "параметр" равен 0.
<xmltask source="rapport.xml">
<call path="//testsuites">
<param name="chaine" path="@name"/>
<param name="testsuite1" path="testsuite[1]/@name"/>
<param name="testsuite2" path="testsuite[2]/@name"/>
<param name="ko1" path="count(testsuite[1]/testcase/failure[@type='ko'])"/>
<actions>
<echo message="count fichiers ko 1 : @{ko1}"/>
<if>
<equals arg1="${ko1}" arg2="0" />
<then>
<echo message="OK"/>
</then>
<else>
<echo message="KO"/>
</else>
</if>
</actions>
</call>
</xmltask>
Почему я не могу попасть в условие "then", а только в "else", а "arg1" = 0?
Rapport.xml это:
<testsuites name="COMPTES" tests="6" time="7" timestamp="2014-07-01T17-20-07" failures="6" errors="0">
<testsuite name="100" tests="6" failures="6" errors="0" time="7">
<testcase classname="Script.COMPTES.100" name="TEST1" time="1">
<failure message="Not exist file or counter or used" type="fichiersInexistants">
File No matches
</failure>
</testcase>
<testcase classname="Script.COMPTES.100" name="TEST2" time="2">
<failure message="Not exist file or counter or used" type="fichiersUtilises">
Data set in use
</failure>
</testcase>
<testcase classname="Script.COMPTES.100" name="TEST3" time="3">
<failure message="Not exist file or counter or used" type="fichiersInexistants">
File No matches
</failure>
</testcase>
<testcase classname="Script.COMPTES.100" name="TEST4" time="3">
<failure message="File abended" type="abended">
File abended
</failure>
</testcase>
</testsuite>
</testsuites>
1 ответ
Решение
Попробуйте использовать @{ko1}
вместо ${ko1}
для ссылки на параметр. Если echo
действительно печать 0
, он должен работать.
<echo message="count fichiers ko 1 : @{ko1}"/>
<if>
<equals arg1="@{ko1}" arg2="0" />