Ich richte Tests mit PHPUnit und dem Zend Framework ein und habe ein lästiges Problem mit dem Autoloading.
Zunächst bin ich mir nicht sicher, warum ich das Autoloading in meiner phpunit bootstrap.php einrichten muss. In der Produktionsumgebung lädt die index.php-Datei es nicht? (Meine Testfälle erweitern Zend_Test_PHPUnit_ControllerTestCase).
Zweitens habe ich Schwierigkeiten, Zend_Loader durch Zend_Loader_Autoload zu ersetzen.
Wenn ich diesen Code in meinem Bootstrap verwende...
require_once "Zend/Loader.php";
Zend_Loader::registerAutoload();
... laufen die Tests gut, aber mit einer Warnung, dass Zend_Loader veraltet ist.
Verwende ich jedoch diesen Code...
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
finden die Tests eine Bibliotheksklasse nicht und es kommt zu einem schwerwiegenden Fehler.
In meiner application.ini habe ich die Zeile autoloaderNamespaces[] = "CP_". Es scheint, dass die Loader-Klasse es sehen kann, aber nicht die Autoloader-Klasse. Seltsam...
Irgendwelche Ideen?
Danke!