我得到了这类错误: Debug Error: Class/Interface not found
还有一个来自 PHPUnit 的更抽象的错误:The test case was unexpectedly terminated.
具体例子:
Debug Error: /vendor/bjyoungblood/bjy-authorize/src/BjyAuthorize/Provider/Role/ZendDb.php line 22 - Interface 'BjyAuthorize\Provider\Role\ProviderInterface' not found
重现步骤
在 PHP 版本上使用 Zend Studio 10.5.0 - Windows 7 64 上的 5.4
- 创建一个新工作区(文件 -> 切换工作区 -> 其他)。您可以随时切换回来。
- 创建本地 PHP 项目(文件 -> 新建 -> 本地 PHP 项目)
- 切换到项目文件所在的目录
- 从命令行或控制台,运行:
php composer.phar self-update
php composer.phar update
php composer.phar require bjyoungblood/bjy-authorize:1.4.*
- 在 Studio 中,转到
/vendor/bjyoungblood/bjy-authorize/tests
文件夹,右键单击 -> 运行方式 -> PHPUnit Test - 将发出类似的错误。
就我而言,它是:
Debug Error: /vendor/bjyoungblood/bjy-authorize/tests/BjyAuthorizeTest/Provider/Role/ZendDbTest.php line 38 - Class 'BjyAuthorize\Provider\Role\ZendDb' not found
该类位于此处: /vendor/bjyoungblood/bjy-authorize/BjyAuthorize/Provider/Role/ZendDb.php
,但 PHPUnit 没有找到它。
其他意见
在我看来,PHPUnit 不支持命名空间,或者可能是自动加载器问题、PHPUnit Bootstrap.php 问题或 PHPUnit TestConfiguration.php 问题。