Композитор встановив Ecomdev_PhpUnit пропускає тести через відсутність vfsstream


14

Я працюю з установкою Enterprise Edition 1.13.1 (хоча спільнота Edition матиме таку ж проблему), і ми встановлюємо залежності за допомогою композитора там, де вони є. Я встановив розширення Івана Ecomdev_PhpUnit за допомогою композитора, який купив у всіх нормальних залежностях phpunit. Я також скопіював phpunit.xml.dist від vendor / ivanchepurnyi / ecomdev_phpunit у кореневий каталог моїх проектів.

Коли я вперше запустив свої тести, я отримав таку помилку:

The test was skipped, since vfsStream component is not installed. Try install submodules required for this functionality

Згодом я додав composer.jsonта запускаю наступні записи, необхідні для розробників composer update:

"mikey179/vfsStream": ">=1.2.0",

Однак PHPUnit все ще скаржиться, що vfsStream не встановлений.

Переглядаючи сховище GitHub для розширення Ecomdev_PHPUnit, схоже, патч був об'єднаний, щоб дозволити автозавантаження libvsfstream, коли використовується композитор . Однак це виглядає як часткове рішення, оскільки автозавантажувач композитора ніде не включений, тому виклик class_exists все ще не вдається.

Я можу редагувати /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41, щоб включити автозавантажувач композитора під час завантаження (або скопіювати bootstrap.php в інше місце в моєму проекті та відредагувати це) . Це найкраще рішення цієї проблеми чи є в композиторі чи в Ecomdev_PhpUnit особливість, яку мені не вистачає?

Відповіді:


3

редагування завантажувальної програми є правильним рішенням, оскільки завантажувальний прилад належить до вашої власної сфери проекту.
Один постачальник ecomdev - це лише приклад / за замовчуванням, орієнтований на класичні некомпозиторські установки.


Дякую, це рішення, яке я в кінцевому підсумку використав, просто хотів переконатися, що я щось не пропускаю.
Джим Охаллоран

4

Іншим виправленням цього є використання автозавантажувача: https://github.com/magento-hackathon/Magento-PSR-0-Autoloader, це означає, що вам не потрібно редагувати завантажувальний файл.


+1 Хоча я закінчив редагувати bootstrap.php, щоб вирішити свою проблему, це, мабуть, краще рішення.
Джим Охаллоран

2

Я знаю, що це може бути трохи пізно, але просто завантажити vfsStream з GitHub і скопіювати / вставити вміст у lib / vfsStream може вирішити вашу проблему.

https://github.com/mikey179/vfsStream


Проблема не в тому, що vfsStream не встановлений (він є), це те, що він не може бути завантажений автоматично.
Джим Охаллоран

Але у мене була точно така ж проблема (композитор не допоміг), і я просто вирішив, що написав і вирішив.
Мішель Гокан

@MichelGokan, твоє рішення спрацювало чудово і для мене. Дякую.
DarkCowboy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.