El compositor instaló Ecomdev_PhpUnit omite las pruebas debido a la falta de vfsstream


14

Estoy trabajando con una instalación Enterprise Edition 1.13.1 (aunque Community Edition tendría el mismo problema), y estamos instalando dependencias a través del compositor donde estén disponibles. He instalado la extensión Ecomdev_PhpUnit de Ivan a través del compositor que ha comprado todas las dependencias normales de phpunit. También he copiado phpunit.xml.dist del proveedor / ivanchepurnyi / ecomdev_phpunit en el directorio raíz de mis proyectos.

Cuando ejecuté por primera vez mis pruebas unitarias, recibí el siguiente error:

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

Posteriormente agregué la siguiente entrada require-dev composer.jsony la ejecuté composer update:

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

Sin embargo, PHPUnit todavía se queja de que vfsStream no está instalado.

Mirando a través del repositorio de GitHub para la extensión Ecomdev_PHPUnit, parece que se ha fusionado un parche para permitir que libvsfstream se cargue automáticamente cuando se utiliza el compositor . Sin embargo, esto parece una solución parcial ya que el autocargador del compositor no está incluido en ningún lado, por lo que la llamada class_exists todavía falla.

Puedo editar /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41 para incluir el autocargador del compositor durante el arranque (o copiar el bootstrap.php a otra ubicación en mi proyecto y editarlo) . ¿Es esta la mejor solución a este problema, o hay una característica en Composer o Ecomdev_PhpUnit que me falta?

Respuestas:


3

editar el bootstrap es la solución correcta aquí, ya que el bootstrap pertenece al alcance de su propio proyecto.
El que ofrece ecomdev es solo un ejemplo / predeterminado, que está orientado a las instalaciones clásicas que no son de compositor.


Gracias, esa es la solución que terminé usando, solo quería asegurarme de que no me faltaba algo.
— Jim OHalloran el


2

Sé que esto podría ser un poco tarde, pero simplemente descargue vfsStream desde GitHub y copie / pegue el contenido en lib / vfsStream para resolver su problema.

https://github.com/mikey179/vfsStream


El problema no es que vfsStream no esté instalado (lo está), es que no se puede cargar automáticamente.
— Jim OHalloran el

Pero tuve exactamente el mismo problema (el compositor no ayudó) y solo hice la solución que escribí y resolvió.
— Michel Gokan

@MichelGokan, tu solución también funcionó bien para mí. Gracias.
— DarkCowboy
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.