簡體   English   中英

phpunit通過composer安裝,告訴phing使用它

[英]phpunit installed via composer, tell phing to use that

我似乎無法讓Phing使用通過composer安裝的PHPUnit(在項目本地bin/目錄中)。 如果我告訴Phing使用我的phpunit可執行文件作為最后的手段 - 如果它是一個PHAR文件使用<phpunit pharlocation="${basedir}/bin/phpunit" />

但這也失敗了:

Project > phpunit:

#!/usr/bin/env php
PHPUnit 4.8.21 by Sebastian Bergmann and contributors.

unrecognized option -- f

我寧願不篡改我的PATH,因為其他開發人員應該能夠毫不費力地運行phing phpunit-target。 全局安裝的phpunit也不是我想要的東西,因為我不希望開發人員之間存在版本差異。

你有沒有嘗試過Phing Autoload Task?

https://www.phing.info/docs/guide/trunk/AutoloaderTask.html

我這樣使用它:

將您的PhpunitTask轉換為ExecTask應該有助於:

<target name="phpunit">
    <exec logoutput="true" checkreturn="true" dir="${basedir}" command="bin/phpunit" />
</target>

有關參考,請參閱https://www.phing.info/docs/guide/trunk/ExecTask.html

Phing使用您的項目本地庫,包括PHPUnit庫,您不必明確提及bin/phpunit可執行文件。

我不知道phing如何知道項目本地依賴關系。

我設法修復了autoloading composer / autoload.php文件

<project name="name" default="build">
  <autoloader autoloaderpath="${baseDir}/vendor/autoload.php"/>

  <target name="tests">
        <phpunit bootstrap="${testsDir}/bootstrap.php" >
            <formatter type="plain" usefile="false"/>
            <batchtest>
                <fileset dir="${testsDir}">
                    <include name="**/*Test*.php"/>
                </fileset>
            </batchtest>
        </phpunit>
    </target>

</project>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM