Saya sedang bekerja dengan pemasangan Enterprise Edition 1.13.1 (meskipun Edisi Komunitas memiliki masalah yang sama), dan kami menginstal dependensi melalui komposer di mana mereka tersedia. Saya telah menginstal ekstensi Ecomdev_PhpUnit Ivan melalui komposer yang telah membeli semua dependensi phpunit normal. Saya juga menyalin phpunit.xml.dist dari vendor / ivanchepurnyi / ecomdev_phpunit ke direktori root proyek saya.
Ketika saya pertama kali menjalankan unit test saya, saya menerima kesalahan berikut:
The test was skipped, since vfsStream component is not installed. Try install submodules required for this functionality
Saya kemudian menambahkan entri persyaratan-dev berikut untuk composer.json
dan menjalankan composer update
:
"mikey179/vfsStream": ">=1.2.0",
Namun, PHPUnit masih mengeluh bahwa vfsStream tidak diinstal.
Melihat melalui repositori GitHub untuk ekstensi Ecomdev_PHPUnit sepertinya patch telah digabungkan untuk memungkinkan libvsfstream di-autoload ketika komposer digunakan . Namun, ini sepertinya solusi parsial karena komposer autoloader tidak disertakan di mana pun, sehingga panggilan class_exists masih gagal.
Saya dapat mengedit /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41 untuk menyertakan autoloader komposer selama bootstrap (atau menyalin bootstrap.php ke lokasi lain di proyek saya dan mengeditnya) . Apakah ini solusi terbaik untuk masalah ini, atau apakah ada fitur di Composer atau Ecomdev_PhpUnit yang saya lewatkan?
sumber
Perbaikan lain untuk ini adalah dengan menggunakan autoloader: https://github.com/magento-hackathon/Magento-PSR-0-Autoloader ini berarti Anda tidak perlu mengedit file bootstrap.
sumber
Saya tahu ini mungkin agak terlambat, tetapi cukup unduh vfsStream dari GitHub dan salin / tempel konten ke lib / vfsStream dapat menyelesaikan masalah Anda.
https://github.com/mikey179/vfsStream
sumber