我似乎无法让Phing使用通过composer安装的PHPUnit(在项目本地bin/
目录中)。作为最后的手段,如果我告诉Phing使用我的phpunit可执行文件 - 如果它是使用<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不是我想要的,因为我不希望开发人员之间存在版本差异。
答案 0 :(得分:2)
答案 1 :(得分:1)
将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。
答案 2 :(得分:0)
Phing使用您的项目本地库,包括PHPUnit库,您不必明确提及bin/phpunit
可执行文件。
我不知道phing如何知道项目本地依赖关系。
答案 3 :(得分:0)
我设法修复了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>