Komposer yang dipasang Ecomdev_PhpUnit melewatkan tes karena vfsstream hilang


14

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.jsondan 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?

Jawaban:


3

mengedit bootstrap adalah solusi yang tepat di sini, karena bootstrap milik lingkup proyek Anda sendiri.
Satu pengiriman ecomdev hanyalah contoh / standar, yang berorientasi pada instalasi klasik non-komposer.


Terima kasih, itulah solusi yang akhirnya saya gunakan, hanya ingin memastikan saya tidak melewatkan sesuatu.
Jim OHalloran


2

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


Masalahnya bukan bahwa vfsStream tidak diinstal (itu adalah), itu bahwa itu tidak dapat dimuat secara otomatis.
Jim OHalloran

Tetapi saya memiliki masalah yang persis sama (komposer tidak membantu) dan hanya melakukan solusi yang saya tulis dan diselesaikan.
Michel Gokan

@MichelGokan, solusi Anda bekerja dengan baik untuk saya juga. Terima kasih.
DarkCowboy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.