【发布时间】:2017-04-20 01:05:06
【问题描述】:
我有一些命名空间的测试被自动加载到包 A 中
"autoload-dev": {
"psr-4": {
"Vendor\\PackageA\\PhpUnit\\": "tests/PhpUnit"
}
},
这很好用。
我有另一个包,包 B,它也有命名空间测试,需要包 A 中的命名空间测试之一
"autoload-dev": {
"psr-4": {
"Vendor\\PackageB\\PhpUnit\\": "tests/PhpUnit"
}
},
但是,当我尝试将文件包含在包 B 中时,找不到该类
use Vendor\PackageA\PhpUnit\MyTestFromA;
class MyTestFromB extends MyTestFromA
{
让我觉得其他包中的 autoload-dev 东西没有被加载。
PHP 致命错误:在第 3 行的 /full/path/to/PackageBClass.php 中找不到类 'Vendor\PackageA\PhpUnit\MyTestFromA'
当我尝试从包 B 而不是 autoload-dev 导入使用 autoload 自动加载的文件时,我没有收到任何错误。
我该如何克服这个问题?
我的一部分人正在考虑为测试制作一个包,并在没有autoload-dev 的情况下自动加载它,但我想先确认一下。
【问题讨论】:
标签: php composer-php