我正在使用Enterprise Edition 1.13.1安装(尽管Community Edition会有相同的问题),并且我们正在通过composer安装可用的依赖项。我已经通过composer安装了Ivan的Ecomdev_PhpUnit扩展,该扩展已购买了所有正常的phpunit依赖项。我还将vendor / ivanchepurnyi / ecomdev_phpunit中的phpunit.xml.dist复制到了项目的根目录中。
第一次运行单元测试时,收到以下错误:
The test was skipped, since vfsStream component is not installed. Try install submodules required for this functionality
随后,我将以下require-dev条目添加到composer.json
并运行composer update
:
"mikey179/vfsStream": ">=1.2.0",
但是,PHPUnit仍然抱怨未安装vfsStream。
在GitHub存储库中查找Ecomdev_PHPUnit扩展,似乎已合并了一个补丁,以允许在使用composer时自动加载libvsfstream。但是,这似乎是部分解决方案,因为未在任何地方包含composer自动加载器,因此class_exists调用仍然失败。
我可以编辑/vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41以在引导过程中包含作曲家自动加载器(或将bootstrap.php复制到项目中的另一个位置并进行编辑) 。这是解决此问题的最佳解决方案,还是Composer或Ecomdev_PhpUnit中缺少我缺少的功能?