ไลบรารี่ที่ทำให้โค้ดที่ขับเคลื่อนด้วยฐานข้อมูลในการทดสอบหน่วยใน PHP เป็นเรื่องง่าย จำลองคลาส PDO ดั้งเดิม กำหนดผลลัพธ์การสืบค้น และตรวจสอบคำสั่งที่ดำเนินการ
"[ในการดับเพลิง a] อุปกรณ์ท่อที่ใช้สำหรับแยกหนึ่งบรรทัดออกเป็นสองท่อระบายน้ำ บ่อยครั้งมีการใช้รั้วที่มีรั้วรอบขอบชิดเพื่ออนุญาตและไม่อนุญาตให้น้ำไหลผ่านสองท่อระบายน้ำที่แยกจากกัน" - https://en.wikipedia.org/wiki/Glossary_of_firefighting_equipment#Wye
Wye ลงทะเบียนกับ Packagist และสามารถติดตั้งกับ Composer ได้ รันสิ่งต่อไปนี้บนบรรทัดคำสั่ง:
composer require --dev stratedge/wye
เมื่อ Wye ถูกรวมไว้ในโปรเจ็กต์ของคุณแล้ว เพียงตรวจสอบให้แน่ใจว่าต้องการตัวโหลดอัตโนมัติของ Composer:
require_once ' vendor/autoload.php ' ;
use Stratedge Wye Wye ;
//In test setup
//-------------
//Reset the Wye to its clean state
Wye::reset()
//Create a Wye PDO object
$ pdo = Wye:: makePDO ();
//Inject PDO into database layer
Database:: setConnection ( $ pdo );
//In test
//-------
//Create a Result object
$ result = Wye:: makeResult ();
//Add a row or two to return
$ result -> addRow ([ ' type ' => ' Pumper ' , ' apparatus ' => ' Engine 1 ' ]);
//Attach Result to Wye to be served when a query is executed
$ result -> attach ();
//Run code to test
$ class_to_test -> doSomething ();
//Inspect execution
$ stmt = Wye:: getStatementAtIndex ( 0 );
$ this -> assertStringStartsWith ( ' SELECT ' , $ stmt -> getStatement ());
$ this ->assertCount( 2 , count ( $ stmt -> getBindings ());
$ this -> assertSame ( ' id ' , $ stmt -> getBindings ()-> first ()-> getParameter ());
$ this -> assertSame ( 1 , Wye:: getNumQueries ());
//and more!
รอก่อน ยังมีอีกมาก
หากต้องการดูการใช้งานของ Wye ในเชิงลึกมากขึ้น โปรดดูเอกสารประกอบที่ครอบคลุม โดยเฉพาะในส่วนการใช้งานพื้นฐาน
เอกสารที่สมบูรณ์และเป็นปัจจุบันมีอยู่ในวิกิ
หัวข้อหลักบางหัวข้อที่กล่าวถึงได้แก่: บทนำ การกำหนดผลลัพธ์ การตรวจสอบข้อมูลการดำเนินการ และการตรวจสอบการเชื่อมโยง
รายการการปรับปรุงและการใช้งานมีอยู่ในหน้า Todo & Roadmap ของวิกิ
หากคุณควรพบปัญหาใน Wye และคิดว่าสามารถแก้ไขได้ โปรดดำเนินการดังกล่าว คำขอดึงได้รับการยอมรับด้วยความยินดี หากคุณไม่มีเวลาหรือแรงพอที่จะแก้ไข โปรดบันทึกปัญหาโดยให้รายละเอียดมากที่สุดเท่าที่จะทำได้ เพื่อให้เราตรวจสอบได้
สามารถบันทึกปัญหาได้ในตัวติดตามปัญหา Github
Wye สร้างขึ้นจากแนวคิดที่ฉันเห็นเป็นครั้งแรกโดย Josh เพื่อน/เพื่อนร่วมงานของฉัน