Je travaille avec une installation Enterprise Edition 1.13.1 (bien que Community Edition aurait le même problème), et nous installons les dépendances via composer où elles sont disponibles. J'ai installé l'extension Ecomdev_PhpUnit d'Ivan via composer qui a acheté toutes les dépendances phpunit normales. J'ai également copié phpunit.xml.dist de vendor / ivanchepurnyi / ecomdev_phpunit dans le répertoire racine de mes projets.
Lorsque j'ai exécuté mes tests unitaires pour la première fois, j'ai reçu l'erreur suivante:
The test was skipped, since vfsStream component is not installed. Try install submodules required for this functionality
J'ai par la suite ajouté l'entrée require-dev suivante composer.json
et exécuté composer update
:
"mikey179/vfsStream": ">=1.2.0",
Cependant, PHPUnit se plaint toujours que vfsStream n'est pas installé.
En regardant dans le référentiel GitHub pour l'extension Ecomdev_PHPUnit, il semble qu'un correctif a été fusionné pour permettre à libvsfstream d'être chargé automatiquement lorsque composer est utilisé . Cependant, cela semble être une solution partielle car le chargeur automatique du composeur n'est inclus nulle part, donc l'appel class_exists échoue toujours.
Je peux modifier /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41 pour inclure le chargeur automatique du compositeur pendant le bootstrap (ou copier le bootstrap.php vers un autre emplacement de mon projet et le modifier) . Est-ce la meilleure solution à ce problème ou existe-t-il une fonctionnalité dans Composer ou Ecomdev_PhpUnit qui me manque?