นักแต่งเพลงที่ติดตั้ง Ecomdev_PhpUnit ข้ามการทดสอบเนื่องจาก vfsstream ขาดหายไป


14

ฉันกำลังทำงานกับการติดตั้ง Enterprise Edition 1.13.1 (แม้ว่า Community Edition จะมีปัญหาเดียวกัน) และเรากำลังติดตั้งการพึ่งพาผ่านผู้เรียบเรียงที่พร้อมใช้งาน ฉันได้ติดตั้งส่วนขยาย Ecomdev_PhpUnit ของ Ivan ผ่านทางผู้แต่งเพลงที่ซื้อในการอ้างอิง phpunit ทั้งหมด ฉันได้คัดลอก phpunit.xml.dist จากผู้จำหน่าย / ivanchepurnyi / ecomdev_phpunit ลงในไดเรกทอรีรากของโครงการของฉัน

เมื่อฉันทำการทดสอบหน่วยครั้งแรกฉันได้รับข้อผิดพลาดต่อไปนี้:

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 ดูเหมือนว่าแพทช์ได้รับการรวมช่วยให้ libvsfstream ที่จะ autoloaded เมื่อนักแต่งเพลงที่ถูกนำมาใช้ อย่างไรก็ตามดูเหมือนว่าจะเป็นวิธีแก้ปัญหาบางส่วนเนื่องจากตัวโหลดอัตโนมัติของนักแต่งเพลงไม่รวมอยู่ที่ใดดังนั้นการเรียก class_exists ยังคงล้มเหลว

ฉันสามารถแก้ไข /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41 เพื่อรวมเครื่องมือโหลดอัตโนมัติในระหว่างการบูต (หรือคัดลอก bootstrap.php ไปยังตำแหน่งอื่นในโครงการของฉันและแก้ไขนั้น) . นี่เป็นวิธีที่ดีที่สุดในการแก้ไขปัญหานี้หรือมีคุณสมบัติใน Composer หรือ Ecomdev_PhpUnit ว่าฉันหายไปหรือไม่

คำตอบ:


3

การแก้ไข bootstrap เป็นโซลูชันที่ถูกต้องที่นี่เนื่องจาก bootstrap เป็นของขอบเขตโครงการของคุณเอง
ecomdev หนึ่งส่งมอบเป็นเพียงตัวอย่าง / ค่าเริ่มต้นซึ่งมุ่งเน้นไปที่การติดตั้งที่ไม่ใช่นักแต่งเพลงคลาสสิค


ขอบคุณนั่นเป็นวิธีแก้ปัญหาที่ฉันใช้ในท้ายที่สุดแค่ต้องการให้แน่ใจว่าฉันจะไม่พลาดบางสิ่งบางอย่าง
จิม OHalloran

4

การแก้ไขอื่น ๆ สำหรับการใช้ autoloader คือ: https://github.com/magento-hackathon/Magento-PSR-0-Autoloaderนี่หมายความว่าคุณไม่จำเป็นต้องแก้ไขไฟล์ bootstrap


+1 แม้ว่าฉันจะลงเอยด้วยการแก้ไข bootstrap.php เพื่อแก้ปัญหาของฉันนี่อาจเป็นทางออกที่ดีกว่า
จิม OHalloran

2

ฉันรู้ว่านี่อาจจะช้าไปหน่อย แต่เพียงดาวน์โหลด vfsStream จาก GitHub และคัดลอก / วางเนื้อหาไปยัง lib / vfsStream อาจช่วยแก้ปัญหาของคุณได้

https://github.com/mikey179/vfsStream


ปัญหาไม่ได้อยู่ที่ vfsStream ไม่ได้ติดตั้ง (เป็น) แต่มันไม่สามารถโหลดอัตโนมัติได้
จิม OHalloran

แต่ฉันมีปัญหาเดียวกัน (ผู้ประพันธ์ไม่ได้ช่วย) และทำวิธีแก้ปัญหาที่ฉันเขียนและแก้ไขได้
Michel Gokan

@MichelGokan โซลูชันของคุณก็ใช้ได้ดีสำหรับฉันเช่นกัน ขอบคุณ.
DarkCowboy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.