คำถามติดแท็ก unit-tests

3
เรียกใช้การทดสอบสำหรับโมดูลเฉพาะใน Magento2
การทำแบบทดสอบเพื่อวีโอไอพีเพื่อใช้นั้นphp bin/magento dev:tests:runใช้เวลานานมาก มีวิธีเรียกใช้การทดสอบสำหรับโมดูลเฉพาะเท่านั้นหรือไม่ ฉันเป็นคนที่ไม่มีการทดสอบ (หน่วย) ดังนั้นจึงมีความเมตตา

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 :-( สถานการณ์ปัจจุบันของฉัน …

4
เครื่องมือสำหรับการทดสอบหน่วยในวีโอไอพี
สิ่งใดที่คุณใช้สำหรับการทดสอบหน่วยในวีโอไอพี หรือคุณรู้อะไรเกี่ยวกับการทดสอบหน่วยและวีโอไอพี ไม่ว่าคุณจะทำ TDD หรือเพียงแค่ต้องการให้มีการทดสอบหน่วยครอบคลุมสำหรับส่วนประกอบโครงการของคุณคุณต้องมีเครื่องมือบางอย่างในการทำเช่นนี้ วิธีการขั้นพื้นฐานแรกคือการใช้ phpunit ธรรมดา แต่มีสิ่งที่ต้องใช้ลูกเล่นเพิ่มเติมเพื่อให้วีโอไอพี "ทดสอบ" ทุกสิ่งที่ฉันทำงานด้วยเกี่ยวข้องกับ phpunit: MTAF EcomDev_PHPUnit (ข้อเสีย: ไม่สามารถทดสอบอีเมลได้) TechDivision_MagentoUnitTesting (พยายาม backport Magento 2 Unit Tests) Mage-Test (การทดสอบหน่วยน้ำหนักเบาสำหรับ Magento) มีตัวเลือกอื่น ๆ อีกไหม?

3
EcomDev_PHP หน่วยติดตั้งใน Magento EE 1.13
ฉันกำลังพยายามตั้งค่า EComDev_PHPUnit ใน EE 1.13 ตามคำแนะนำ https://github.com/EcomDev/EcomDev_PHPUnit อย่างแรกอุปสรรค์คือการทำให้ modman ทำงาน แต่ฉันก็ยอมแพ้และคัดลอกไปที่โมดูลด้วยตนเอง ตอนนี้ปัญหาที่สองอยู่ในขั้นตอนที่ 2: เมื่อฉันดำเนินการ php ecomdev-phpunit.php -a magento-config --db-name $DB_NAME --base-url http://your.magento.url/ ฉันได้รับข้อยกเว้นที่บอกว่า PHP Fatal error : Class 'Mage_Core_Model_Factory' not found in '../../../shell/abstract.php' on line 88 ฉันไปและเพิ่มเส้นทางโรงงานด้วย require_once ใน abstract.pho แต่แล้วมันก็เกิดข้อผิดพลาดขึ้นว่าชั้นอื่นหายไป ... มีใครพบกับสิ่งนี้หรือไม่? ฉันใช้ Ubuntu 12.10 ใน VirtualBox ความช่วยเหลือใด ๆ …

3
Magento 1 Framework การทดสอบ
เมื่อใดก็ตามที่ฉันสามารถฉันชอบที่จะมีการพัฒนาซอฟต์แวร์ดังต่อไปนี้การพัฒนา (TDD) การทดสอบขับเคลื่อนแนวทาง โดยปกติใน PHP ที่หมายถึงการใช้PHPUnit เป็นการดีที่ฉันต้องการจะเขียนแบบทดสอบทั้งแบบละเอียดและแบบหยาบ Unittests เพื่อช่วยเป็นแนวทางในการออกแบบและคุณภาพของรหัสของฉันการทดสอบการรวมเพื่อให้แน่ใจว่าทุกอย่างจะอยู่ด้วยกันและอยู่ในระดับสูงด้านนอกในการทดสอบการยอมรับเพื่อให้แน่ใจว่าฉันได้ส่งมอบสิ่งที่ลูกค้าต้องการ มีกรอบการทดสอบใดบ้างที่ออกแบบมาสำหรับ Magento ซึ่งอำนวยความสะดวกกับ TDD หรือไม่?

1
ผู้สังเกตการณ์ทดสอบหน่วยในวีโอไอพี
คุณเข้าหาผู้ทดสอบผู้สังเกตการณ์ใน Magento ได้อย่างไร (ทำงานกับEcomDev_PHPUnit ) การยืนยันประเภทใดที่รวมถึง? ตรวจสอบว่าเหตุการณ์กำลังถูกส่ง ( assertEventDispatched()) ตรวจสอบฟังก์ชั่นด้วยข้อมูลจำลอง ... เป็นการดีที่ฉันต้องการที่จะเห็นความคิดเห็นของนักพัฒนาคนอื่นเกี่ยวกับวิธีการและการยืนยันที่ทำ

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

3
แบบจำลองแหล่งที่มาของการทดสอบหน่วย
ฉันมีหลายรุ่นในส่วนขยายที่กำหนดเองของฉันที่ให้บริการเฉพาะจุดประสงค์ในการเลือกและ / หรือเลือกหลายรายการในรูปแบบเพิ่ม / แก้ไขของเอนทิตีของฉัน ดังนั้นมันจึงเป็นสิ่งที่วีโอไอพีเรียกว่า "โมเดลต้นทาง" ค่าที่เกี่ยวข้องมักจะเหมือนเดิมและวิธีการส่งคืนสิ่งเดียวกัน ฉันจะทดสอบหน่วยเหล่านั้นได้อย่างไร หรือดีกว่าฉันควรเขียนการทดสอบหน่วยสำหรับพวกเขา นี่คือตัวอย่าง คลาสต่อไปนี้ใช้สำหรับฟอร์มเพิ่ม / แก้ไขสำหรับเขตข้อมูลที่เรียกtypeและคอลัมน์คอลัมน์ของเขตข้อมูลเดียวกัน <?php namespace Sample\News\Model\Author\Source; use Magento\Framework\Option\ArrayInterface; class Type implements ArrayInterface { const COLLABORATOR = 1; const EMPLOYEE = 2; /** * Get options * * @return array */ public function toOptionArray() { $_options = [ [ 'value' …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.