Composer ha installato Ecomdev_PhpUnit salta i test a causa della mancanza di vfsstream


14

Sto lavorando con un'installazione Enterprise Edition 1.13.1 (anche se Community Edition avrebbe lo stesso problema) e stiamo installando dipendenze tramite compositore dove sono disponibili. Ho installato l'estensione Ecomdev_PhpUnit di Ivan tramite il compositore che ha acquistato tutte le normali dipendenze phpunit. Ho anche copiato phpunit.xml.dist dal fornitore / ivanchepurnyi / ecomdev_phpunit nella directory principale dei miei progetti.

Quando ho eseguito i test delle unità per la prima volta, ho ricevuto il seguente errore:

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

Successivamente ho aggiunto composer.jsoned eseguito la seguente voce request-dev composer update:

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

Tuttavia, PHPUnit si lamenta ancora che vfsStream non sia installato.

Esaminando il repository GitHub per l'estensione Ecomdev_PHPUnit sembra che una patch sia stata unita per consentire il caricamento automatico di libvsfstream quando si usa il compositore . Tuttavia, questa sembra una soluzione parziale poiché il caricatore automatico del compositore non è incluso da nessuna parte, quindi la chiamata class_exists non riesce ancora.

Posso modificare /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41 per includere il caricatore automatico del compositore durante il bootstrap (o copiare il bootstrap.php in un'altra posizione nel mio progetto e modificarlo) . È questa la soluzione migliore a questo problema o c'è una funzione in Composer o Ecomdev_PhpUnit che mi manca?

Risposte:


3

la modifica del bootstrap è la soluzione corretta qui, poiché il bootstrap appartiene al proprio ambito di progetto.
Quello che ecomdev offre è solo un esempio / predefinito, che è orientato alle installazioni classiche non composer.


Grazie, questa è la soluzione che ho finito per usare, volevo solo assicurarmi che non mi mancasse qualcosa.
Jim OHalloran,


2

So che potrebbe essere un po 'tardi, ma semplicemente scaricare vfsStream da GitHub e copiare / incollare il contenuto in lib / vfsStream potrebbe risolvere il tuo problema.

https://github.com/mikey179/vfsStream


Il problema non è che vfsStream non è installato (lo è), è che non può essere caricato automaticamente.
Jim OHalloran,

Ma ho avuto esattamente lo stesso problema (il compositore non mi ha aiutato) e ho fatto la soluzione che ho scritto e ho risolto.
Michel Gokan,

@MichelGokan, la tua soluzione ha funzionato bene anche per me. Grazie.
DarkCowboy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.