1

Zend Framework 2 プロジェクトがあり、単体テストを実行できるようにジェンキンをセットアップしようとしています。Jenkins は ubuntu で実行されており、PHPStorm を使用して Windows 7 で開発しています。

build.xml

<target name="phpunit" description="Run unit tests with PHPUnit">
    <exec executable="phpunit" failonerror="true">
        <arg value="${basedir}/module/Addressbook/test"/>
    </exec>
</target>

フォルダ構造:

  • 事業
    • モジュール
      • 住所録
      • テスト
        • AddressbookTest
          • コントローラ
            • AddressbookControllerTest.php
          • Boostrap.php
          • phpunit.xml.dist
          • TestConfig.php
    • build.xml

ジェンキンスの出力:

phpユニット:
     [exec] Sebastian Bergmann による PHPUnit 3.7.13。
     [実行]
     [exec] PHP 致命的なエラー: 28 行目の /var/lib/jenkins/workspace/Test/src/module/Addressbook/test/AddressbookTest/Controller/AddressbookControllerTest.php にクラス 'AddressbookTest\Bootstrap' が見つかりません

私のローカル マシン上の PHPStorm は、phpunit.xml.dist の実行時にこれを行います。

D:\Zend\ZendServer\bin\php.exe -d auto_prepend_file=D:/Zend/Apache2/htdocs/demoshop/vendor/autoload.php C:\Users\ChristianB\AppData\Local\Temp\ide-phpunit.php --configuration D:/Zend/Apache2/htdocs/demoshop/module/Addressbook/test/phpunit.xml.dist

どうすればそれをジェンキンに使用できますか?

4

1 に答える 1

0

インクルード パスが正しく設定されていないようです。より良いオプションがある場合は、PHPUNIT で exec を直接使用しません。

Jenkins で PHING タスクを使用することを検討する必要があります。これらは一緒にうまく機能します。

次に、Jenking をセットアップして、PHING ターゲットをトリガーし、PHPUNIT タスク (PHPUNIT の phing ターゲットの例) を介して単体テストを実行します。

<target name="phpunit">
    <phpunit bootstrap="${srcdir}/tests/bootstrap.php">
        <formatter todir="${builddir}/reports" type="xml"/>
        <batchtest>
            <fileset dir="${srcdir}/tests">
                <include name="**/*Test*.php"/>
                <exclude name="**/Abstract*.php"/>
                <exclude name="${srcdir}/vendor/**"/>
            </fileset>
        </batchtest>
    </phpunit>
    <!-- 
        Generate a report from the XML data created.. 
        note: error when using format="frames"
    --> 
    <phpunitreport infile="${builddir}/reports/testsuites.xml" 
        format="noframes" 
        todir="${builddir}/reports/tests"
    />

</target>
于 2013-01-28T09:00:22.153 に答える