由于缺少vfsstream,安装了Composer的Ecomdev_PhpUnit跳过了测试


14

我正在使用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中缺少我缺少的功能?

Answers:


3

在这里编辑引导程序是正确的解决方案,因为引导程序属于您自己的项目范围。
ecomdev提供的只是一个示例/默认示例,它是针对经典的非作曲家安装的。


谢谢,这就是我最终使用的解决方案,只是想确保我没有丢失任何东西。
Jim OHalloran 2014年


2

我知道这可能会晚一点,但是只需从GitHub下载vfsStream并将内容复制/粘贴到lib / vfsStream即可解决您的问题。

https://github.com/mikey179/vfsStream


问题不是不是没有安装vfsStream,而是因为它无法自动加载。
Jim OHalloran 2014年

但是我遇到了完全相同的问题(编写者没有帮助),只是我编写的解决方案得以解决。
2014年

@MichelGokan,您的解决方案对我来说也很好。谢谢。
DarkCowboy '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.