Kompozytor zainstalował Ecomdev_PhpUnit pomija testy z powodu braku vfsstream


14

Pracuję z instalacją Enterprise Edition 1.13.1 (chociaż wydanie Community Edition miałoby ten sam problem) i instalujemy zależności za pośrednictwem kompozytora tam, gdzie są one dostępne. Zainstalowałem rozszerzenie Ivana Ecomdev_PhpUnit przez kompozytora, który kupił wszystkie normalne zależności phpunit. Skopiowałem również phpunit.xml.dist z vendor / ivanchepurnyi / ecomdev_phpunit do katalogu głównego moich projektów.

Kiedy po raz pierwszy przeprowadziłem testy jednostkowe, otrzymałem następujący błąd:

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

Następnie dodałem następujący wpis wymagany-dev do composer.jsoni uruchamiam composer update:

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

Jednak PHPUnit nadal narzeka, że ​​vfsStream nie jest zainstalowany.

Przeglądając repozytorium GitHub dla rozszerzenia Ecomdev_PHPUnit, wygląda na to, że łatka została scalona, ​​aby umożliwić automatyczne ładowanie libvsfstream, gdy używany jest kompozytor . Wydaje się to jednak częściowym rozwiązaniem, ponieważ autoloader kompozytora nigdzie nie jest zawarty, więc wywołanie class_exists nadal kończy się niepowodzeniem.

Mogę edytować /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41, aby dołączyć autoloader kompozytora podczas ładowania (lub skopiować bootstrap.php w inne miejsce w moim projekcie i edytować to) . Czy to najlepsze rozwiązanie tego problemu, czy też brakuje mi funkcji w Composer lub Ecomdev_PhpUnit?

Odpowiedzi:


3

edycja bootstrap jest tutaj dobrym rozwiązaniem, ponieważ bootstrap należy do twojego zakresu projektu.
To, co dostarcza ecomdev, to tylko przykład / domyślny, zorientowany na klasyczne instalacje inne niż kompozytor.


Dzięki, to rozwiązanie, z którego ostatecznie skorzystałem, chciałem tylko upewnić się, że czegoś nie umknie.
— Jim OHalloran


2

Wiem, że może to być trochę za późno, ale po prostu pobierz vfsStream z GitHub i skopiuj / wklej zawartość do lib / vfsStream może rozwiązać Twój problem.

https://github.com/mikey179/vfsStream


Problem nie polega na tym, że vfsStream nie jest zainstalowany (jest), ale na tym, że nie można go automatycznie załadować.
— Jim OHalloran

Ale miałem dokładnie ten sam problem (kompozytor nie pomógł), po prostu zrobiłem rozwiązanie, które napisałem i rozwiązałem.
— Michel Gokan

@MichelGokan, twoje rozwiązanie również działało dobrze dla mnie. Dzięki.
— DarkCowboy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.