我正在尝试定义一个任务,该任务在目标完成执行时发出(使用回显)消息,无论该目标是否成功。具体来说,目标执行一个任务来运行一些单元测试,我想发出一条消息,指示结果在哪里可用:
<target name="mytarget">
<testng outputDir="${results}" ...>
...
</testng>
<echo>Tests complete. Results available in ${results}</echo>
</target>
不幸的是,如果测试失败,任务就会失败并且执行会中止。因此,仅当测试通过时才会输出该消息 - 与我想要的相反。我知道我可以将任务放在任务之前,但这会让用户更容易错过此消息。我想做的事情可能吗?
Update:事实证明我是个傻子。我的 任务中有haltOnFailure =“true”,这解释了我所看到的行为。现在的问题是,将其设置为 false 会导致即使测试失败,整个 ant 构建也会成功,这不是我想要的。下面使用任务的答案看起来可能就是我想要的..
您可以使用试着抓 http://ant-contrib.sourceforge.net/tasks/tasks/trycatch.html像这样阻止:
<target name="myTarget">
<trycatch property="foo" reference="bar">
<try>
<testing outputdir="${results}" ...>
...
</testing>
</try>
<catch>
<echo>Test failed</echo>
</catch>
<finally>
<echo>Tests complete. Results available in ${results}</echo>
</finally>
</trycatch>
</target>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)