如何使用phing评估junit.xml

时间:2013-01-10 10:03:05

标签: php cakephp junit phpunit phing

我正在使用phing构建我的CakePHP Web应用程序。

我希望有一个符合这些思路的目标:

  1. 运行测试套件
  2. 如果甚至有1次失败,请结束目标
  3. 如果一切正常,请运行命令“git commit -a”
  4. 对于我的测试套件,我遵循使用PHPUnit的CakePHP约定

    ${cake} testsuite ${runinworkspaceapp} app AllTests --log-junit ${builddir}/logs/junit.xml
    

    其中

    • ${cake}仅表示${appdir}/Console/cake
    • ${runinworkspaceapp}表示-app ${appdir}

    我将生成一个junit.xml文件。下面是junit.xml的片段

    <testsuites>
      <testsuite name="All Tests" tests="44" assertions="373" failures="0" errors="0" time="4.634020">
        <testsuite name="All Model related class tests" tests="42" assertions="370" failures="0" errors="0" time="4.478717">
    

    我怀疑我需要评估junit.xml文件以判断是否有任何错误。我错了,有更好的方法。

    如何编写phing目标?

1 个答案:

答案 0 :(得分:1)

当至少一次测试失败时,蛋糕应以exit code != 0退出,因此将<exec>checkreturn="true"一起使用就足够了。


可以使用phing任务将

junit.xml转换为HTML(另请参阅http://cweiske.de/tagebuch/visualizing-phpunit-runs.htm):

<?xml version="1.0" encoding="utf-8"?>
<project name="testreport" default="gen-report" basedir=".">
 <target name="gen-report">
  <phpunitreport infile="log.junit.xml"
                 format="frames"
                 todir="html"
                 styledir="/usr/share/php/data/phing/etc/"
                 />
 </target>
</project>