คำถามติดแท็ก phpunit

3
การสร้างการทดสอบการรวมสำหรับโมดูลวีโอไอพี 2
จนถึงตอนนี้สำหรับความต้องการในการทดสอบ Magento 2 ของฉันฉันได้ใช้หน่วย PHP เป็น (มากหรือน้อย) ผู้ทดสอบการยอมรับ - ผลการทดสอบของเซิร์ฟเวอร์และคำขอ HTML ที่ทำไว้ในระบบโดยติดตั้งโมดูลของฉัน ฉันต้องการที่จะสร้างการทดสอบการรวมกลุ่มของฉันเอง เครื่องมือทดสอบที่มาพร้อมกับ Magento 2 อนุญาตให้นักพัฒนาบุคคลที่สามสร้างการทดสอบการรวมกลุ่มของตนเองซึ่งใช้ประโยชน์จากกรอบการทดสอบของ Magento หรือไม่ หรือเราทุกคนจะกลิ้ง bootstrap ของเราเอง? นั่นคือ ฉันเป็นนักพัฒนาวีโอไอพี ฉันต้องการสร้างการทดสอบการรวมระบบ ฉันต้องการทดสอบการรวมระบบของฉันเพื่อให้ bootstrap Magento มีสภาพแวดล้อมที่เหมาะสมสำหรับการเล่น (เช่น object manager และ / หรือการใช้ dependency injection) ฉันต้องการรวมการทดสอบเพื่อขยายการ Magento\TestFramework\TestCase\AbstractControllerทดสอบดังนั้นฉันจึงมีผู้ช่วยเหมือนการทดสอบ Magento ฉันต้องการให้สามารถทำการทดสอบแยกจากส่วนที่เหลือของชุดทดสอบ (เช่นไม่ต้องรอ 2 ชั่วโมงเพื่อรันการทดสอบ 15 วินาทีของฉัน) ฉันต้องการเก็บการทดสอบแยกต่างหากจากการทดสอบของวีโอไอพี ไซต์ dev docs …

2
วิธีที่เหมาะสมสำหรับการทดสอบหน่วยโค้ด PHP7 ด้วย PHPUnit 4.1 ใน Magento 2 คืออะไร
เมื่อฉันเขียนโมดูลของฉันฉันพยายามจัดหาการทดสอบหน่วยสำหรับส่วนที่สำคัญที่สุดของแอปพลิเคชัน อย่างไรก็ตามในขณะนี้ (Magento 2.1.3) มีหลายวิธีในการเขียนแบบทดสอบหน่วย: วิธีทดสอบต่าง ๆ รวมเข้ากับbin/magento dev:tests:run unitและรันบนการตั้งค่า phpunit เริ่มต้นที่มาพร้อมกับ Magento เขียนแยกต่างหากเรียกใช้พวกเขาด้วยvendor/bin/phpunit app/code/Vendor/Module/Test/Unitและเยาะเย้ยทุกอย่างที่เป็นวีโอไอพี เขียนแยกต่างหากจำลองทุกอย่างและใช้ PHPUnit เวอร์ชันสากลของระบบ เขียนแยกต่างหากเรียกใช้ด้วยvendor/bin/phpunitแต่ยังใช้งาน\Magento\Framework\TestFramework\Unit\Helper\ObjectManagerได้ Magento 2 และ PHPUnit นอกจากนั้น Magento 2 ยังมาพร้อมกับ PHPUnit 4.1.0 ซึ่งไม่รองรับ PHP7 ชาวบ้านประเภทการบอกใบ้ (ชอบstringและ `int) และการประกาศผลตอบแทนประเภทในลายเซ็นของคุณจะทำให้เกิดข้อผิดพลาด ตัวอย่างเช่นอินเตอร์เฟส / คลาสที่มีลายเซ็นเมธอดดังนี้: public function foo(string $bar) : bool; ... จะไม่สามารถเยาะเย้ยโดย PHPUnit 4.1.0 :-( สถานการณ์ปัจจุบันของฉัน …

3
นักแต่งเพลงที่ติดตั้ง Ecomdev_PhpUnit ข้ามการทดสอบเนื่องจาก vfsstream ขาดหายไป
ฉันกำลังทำงานกับการติดตั้ง 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 …

2
แนวปฏิบัติที่ดีที่สุดสำหรับการทดสอบหน่วยใน Magento 1.9
ฉันบำรุงรักษาเว็บไซต์ Magento 1.9 ด้วยโมดูลที่กำหนดเองหลายอย่าง ฟังก์ชั่นบางอย่างมีความสำคัญอย่างยิ่งสำหรับธุรกิจและจำเป็นต้องทดสอบหน่วย เช่นเครื่องคิดเลขราคาต่อหน่วย ฉันมักจะพัฒนาใน Symfony และต้องการใช้ PHPUnit (w / นักแต่งเพลง) อย่างแท้จริงถ้าเป็นไปได้ ฟังก์ชั่นบางอย่างขึ้นอยู่กับข้อมูลที่นำเข้าไปยังตารางฐานข้อมูลที่กำหนดเองหลาย ๆ ตัวดังนั้นฉันจึงต้องการโหลดตัวโหลดอย่างใด ดังนั้นฉันกำลังมองหาวิธีปฏิบัติที่ดีที่สุดในการเขียนแบบทดสอบหน่วย ฉันจะ Glady ยอมรับบทเรียนหรือสิ่งที่คล้ายกัน ความช่วยเหลือใด ๆ ที่ชื่นชม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.