0

このガイドに従って、PHP プロジェクトを Jenkins と統合します。

ここに私のbuild.xmlファイルがあります

これは、実行時の出力ant -f build.xmlからのものです。

phpunit:
     [exec] PHPUnit 3.6.10 by Sebastian Bergmann.

     [exec] Usage: phpunit [switches] UnitTest [UnitTest.php]
     [exec] phpunit [switches] <directory>

     [exec] --log-junit <file> Log test execution in JUnit XML format to file.
     [exec] --log-tap <file> Log test execution in TAP format to file.
     [exec] --log-json <file> Log test execution in JSON format.

     [exec] --coverage-clover <file> Generate code coverage report in Clover XML format.
     [exec] --coverage-html <dir> Generate code coverage report in HTML format.
     [exec] --coverage-php <file> Serialize PHP_CodeCoverage object to file.
     [exec] --coverage-text=<file> Generate code coverage report in text format.
     [exec] Default to writing to the standard output
     [exec] ...

.

行 132 付近の構成のスニペット:

 <target name="phpunit" description="Run unit tests with PHPUnit">
  <exec executable="phpunit" failonerror="true"/>
 </target>

phpunit/PHPUnit がインストールされています。

pear list -c phpunit
Installed packages, channel pear.phpunit.de:
============================================
Package            Version State
File_Iterator      1.3.1   stable
PHPUnit            3.6.10  stable
PHPUnit_MockObject 1.1.1   stable
PHP_CodeBrowser    1.0.2   stable
PHP_CodeCoverage   1.1.2   stable
PHP_Invoker        1.1.0   stable
PHP_Timer          1.0.2   stable
PHP_TokenStream    1.1.3   stable
Text_Template      1.1.1   stable
phpcpd             1.3.5   stable
phploc             1.6.4   stable

@oers に返信 Thu May 3 20:31:50 ICT 2012:

build.xml ファイルを次のように編集しました。

 <target name="phpunit" description="Run unit tests with PHPUnit">
  <exec executable="phpunit" failonerror="true"/>
    <arg line="--log-junit ${basedir}/build/logs/phpunit.xml serving" />
 </target>

しかし、何も変わりません。

4

3 に答える 3

2

I've edited the build.xml file to something like this:

Your build.xml has an error in the tree structure.

--- build.xml
+++ build.xml.new
@@ -1,4 +1,5 @@
 <target name="phpunit" description="Run unit tests with PHPUnit">
-  <exec executable="phpunit" failonerror="true"/>
+  <exec executable="phpunit" failonerror="true">
     <arg line="--log-junit ${basedir}/build/logs/phpunit.xml serving" />
+  </exec>
  </target>
于 2012-05-15T04:51:35.367 に答える
0

出力 ( Usage: ... )からわかるようphpunitに、正しく実行するにはいくつかの引数が必要です。<exec executable="phpunit" failonerror="true"/>のヘルプを表示して終了します (コマンド ラインから直接phpunit呼び出す場合と同様)。phpunit

phpunitの公式ガイドでは、次のように phpunit を実行するように指示されています。

 <target name="phpunit">
  <exec dir="${basedir}" executable="phpunit" failonerror="true">
   <arg line="--log-xml ${basedir}/build/logs/phpunit.xml MoneyTest" />
  </exec>
 </target>
于 2012-05-03T12:40:30.480 に答える
0

私の場合、エラーBaseDirを設定したため、この問題が発生しました。ベースディレクトリは、プロジェクトパスまたはphpunit.xml.distの同じパスとして設定する必要があります。

とにかく、このようにbuild.xmlでphpunit構成ファイルのパスを指定することもできます

<target name="phpunit">
   <exec dir="${basedir}" executable="phpunit" failonerror="true">
       <arg line="-c /your/path/to/phpunit.xml.dist" />
       <arg line="--log-xml ${basedir}/build/logs/phpunit.xml MoneyTest" />
  </exec>
</target>
于 2015-07-01T20:05:02.793 に答える