Phing和PHPUnit,甚至无法运行最基本的东西

时间:2017-03-20 15:02:36

标签: phpunit phing

使用作曲家安装的垃圾箱

我按照以下方式执行最基本的任务:

<autoloader autoloaderpath="vendor/autoload.php">

<target name="asdf">
        <echo msg="test"/>
        <phpunit configuration="app/phpunit.xml"
                 haltonerror="true"
                 haltonfailure="true"
                 pharlocation="bin/phpunit"
        />
</target>

现在只需运行此任务:

phing -debug asdf

将导致:

  +Task: echo
    -calling setter EchoTask::setMsg()
     [echo] qwerqwer
  +Task: phpunit
    -calling setter PHPUnitTask::setConfiguration()
    -calling setter PHPUnitTask::setHaltonerror()
    -calling setter PHPUnitTask::setHaltonfailure()
    -calling setter PHPUnitTask::setPharLocation()
#!/usr/bin/env php
Cannot open file "asdf.php".

使用.phar

使用除pharlocation之外的相同配置:

  +Task: echo
    -calling setter EchoTask::setMsg()
     [echo] test
  +Task: phpunit
    -calling setter PHPUnitTask::setConfiguration()
    -calling setter PHPUnitTask::setHaltonerror()
    -calling setter PHPUnitTask::setHaltonfailure()

BUILD FINISHED

没有错误,但phpunit任务类型没有启动。

无法识别的选项

有第三个简单的变体似乎很好,这导致了'phpunit:无法识别的选项 - p&#39;我遗憾地无法复制..

版本

  • PU 5.7
  • Phing 2.16
  • PHP 7.1

1 个答案:

答案 0 :(得分:2)

我看到你使用了PHPUnit 5.7。您是否在测试中使用了名称空间?

当前版本的Phing与PHPUnit\Framework\TestCase等名称空间不兼容,您必须使用旧类\PHPUnit_Framework_TestCase

下一个Phing的版本将与PHPUnit的命名空间(https://github.com/phingofficial/phing/issues/659)兼容。同时,您可以创建phpunit.xml并将其添加到build.xml以运行测试:

<target name="phpunit" description="Run tests">
    <exec executable="bin/phpunit" passthru="true">
        <arg value="--configuration"/>
        <arg value="app/phpunit.xml"/>
    </exec>
</target>