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.