Ich arbeite mit einer Enterprise Edition 1.13.1-Installation (obwohl Community Edition das gleiche Problem hätte) und wir installieren Abhängigkeiten über Composer, sofern diese verfügbar sind. Ich habe Ivans Ecomdev_PhpUnit-Erweiterung über einen Composer installiert, der alle normalen phpunit-Abhängigkeiten einkauft. Ich habe auch phpunit.xml.dist vom Hersteller / ivanchepurnyi / ecomdev_phpunit in das Stammverzeichnis meines Projekts kopiert.
Als ich meine Unit-Tests zum ersten Mal durchführte, erhielt ich die folgende Fehlermeldung:
The test was skipped, since vfsStream component is not installed. Try install submodules required for this functionality
Anschließend habe ich den folgenden Eintrag für require-dev hinzugefügt composer.json
und ausgeführt composer update
:
"mikey179/vfsStream": ">=1.2.0",
PHPUnit beschwert sich jedoch weiterhin darüber, dass vfsStream nicht installiert ist.
Wenn Sie das GitHub-Repository nach der Erweiterung Ecomdev_PHPUnit durchsuchen, sieht es so aus, als ob ein Patch zusammengeführt wurde, damit libvsfstream automatisch geladen werden kann, wenn Composer verwendet wird . Dies scheint jedoch eine Teillösung zu sein, da der Composer-Autoloader nirgendwo enthalten ist und der Aufruf von class_exists weiterhin fehlschlägt.
Ich kann /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41 bearbeiten, um den Composer-Autoloader während des Bootstraps einzuschließen (oder die Datei bootstrap.php in mein Projekt kopieren und bearbeiten) . Ist dies die beste Lösung für dieses Problem, oder gibt es eine fehlende Funktion in Composer oder Ecomdev_PhpUnit?