mam kilka testów, które mają być ładowane automatycznie w przestrzeni nazw pakietu A, stosującKompozytor zależności wymagają-dev requireing w różnych pakietów wymagają-dev
"autoload-dev": {
"psr-4": {
"Vendor\\PackageA\\PhpUnit\\": "tests/PhpUnit"
}
},
To działa prawidłowo.
mam inny pakiet, pakiet B, która również przestrzeni nazw testów, które wymagają jednego z przestrzeni nazw testów w opakowaniu
"autoload-dev": {
"psr-4": {
"Vendor\\PackageB\\PhpUnit\\": "tests/PhpUnit"
}
},
Jednak gdy próbuję i to plik w Pakietu B, klasa nie jest Znaleziono
use Vendor\PackageA\PhpUnit\MyTestFromA;
class MyTestFromB extends MyTestFromA
{
Daje mi do myślenia, że ładowanie autoload-dev z innych pakietów nie jest ładowane.
PHP Fatal error: Class 'Vendor\PackageA\PhpUnit\MyTestFromA' not found in /full/path/to/PackageBClass.php on line 3
Gdy próbuję i zaimportować plik, który jest automatycznie ładować za pomocą autoload
z pakietu zamiast B autoload-dev
, mam żadnego błędu.
Jak mogę to przezwyciężyć?
Część mnie myśli, aby utworzyć pakiet tylko do testów i mieć go załadowane automatycznie w obu bez autoload-dev
, ale chcę najpierw potwierdzić.
Duplikat + odpowiedź: http://stackoverflow.com/a/21171171/1163786 –