0

私はphingを使用してCakePHPWebアプリケーションを構築しています。

これらの線に沿ったphingターゲットが必要です。

  1. テストスイートを実行する
  2. 失敗が1つでもある場合は、phingターゲットを終了します
  3. 問題がなければ、コマンド「gitcommit-a」を実行します

私のテストスイートでは、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ターゲットを作成するにはどうすればよいですか?

4

1 に答える 1

1

Cakeはexit code != 0、少なくとも1つのテストが失敗したときに終了する必要があるため、<exec>withを使用するだけcheckreturn="true"で十分です。


junit.xmlphingタスクを使用して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>
于 2013-01-10T10:06:47.980 に答える