我需要写一个ant (build.xml)文件来做以下事情:-运行"rake test"运行"rake rspec"-运行"rake features"-如果以上都通过,那么执行'cap deploy staging'
我是ant脚本的新手,到目前为止,我已经完成了:
<project name="myapp" basedir=".">
<target name="run-migrations">
<exec executable="rake">
<arg value="db:migrate"></arg>
</exec>
</target>
<target name="load-rake-task" depends="run-migrations">
<exec executable="rake"></exec>
</target>
...
</project>
这将运行rake db:migrate,然后是rake,但我还没有弄清楚如何捕获命令运行的输出,更好的是,如果任何测试失败,如何访问。
我如何修改上述脚本以捕获输出并找出在上述场景中通过和失败的测试数量?
使用exec
任务的以下属性来捕获输出:
-
outputproperty
for stdout -
errorproperty
for stderr -
resultproperty
for RC (returncode)
的意思是:
<exec executable="rake" outputproperty="rake.out" errorproperty="rake.err" resultproperty="rake.rc">
<arg value="db:migrate"></arg>
</exec>
也建议使用failonerror="true"
,默认为false。
详情请参见Ant manual/exec task。