Estou trabalhando com uma instalação do Enterprise Edition 1.13.1 (embora o Community Edition tenha o mesmo problema) e estamos instalando dependências por meio do compositor, onde estiverem disponíveis. Instalei a extensão Ecomdev_PhpUnit de Ivan por meio do compositor, que comprou todas as dependências normais do phpunit. Também copiei o phpunit.xml.dist do fornecedor / ivanchepurnyi / ecomdev_phpunit no diretório raiz do meu projeto.
Quando executei meus testes de unidade pela primeira vez, recebi o seguinte erro:
The test was skipped, since vfsStream component is not installed. Try install submodules required for this functionality
Posteriormente, adicionei composer.json
e execute a seguinte entrada require-dev composer update
:
"mikey179/vfsStream": ">=1.2.0",
No entanto, o PHPUnit ainda reclama que o vfsStream não está instalado.
Examinando a extensão Ecomdev_PHPUnit no repositório GitHub, parece que um patch foi mesclado para permitir que o libvsfstream seja carregado automaticamente quando o compositor é usado . No entanto, isso parece uma solução parcial, pois o carregador automático do compositor não é incluído em nenhum lugar, portanto a chamada de class_exists ainda falha.
Posso editar /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41 para incluir o carregador automático do compositor durante a inicialização (ou copiar o bootstrap.php para outro local no meu projeto e editá-lo) . Essa é a melhor solução para esse problema ou há um recurso no Composer ou no Ecomdev_PhpUnit que estou ausente?