wye
v0.8.0
一個函式庫,讓 PHP 中資料庫驅動程式碼的單元測試變得輕而易舉。模擬本機 PDO 類別、定義查詢結果並檢查執行的語句。
“[在消防中]軟管裝置用於將一條管線分成兩個排放口。通常使用門控 Y 形接頭來允許和禁止水流通過兩個單獨的排放口。” - 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 的用法,請查看大量文檔,尤其是基本用法部分。
完整且最新的文件可在 Wiki 上找到。
討論的一些主要主題包括:簡介、定義結果、檢查執行資訊和檢查綁定。
wiki 的 Todo & Roadmap 頁面上提供了增強功能和實作的清單。
如果您在 Wye 中發現問題,並且您認為可以解決它,請務必這樣做。拉取請求很樂意被接受。如果您沒有時間或精力來修復它,請盡可能詳細地記錄問題,以便我可以查看。
問題可以記錄在 Github 問題追蹤器上。
Wye 是建立在我第一次看到我的朋友/同事 Josh 實施的一個想法之上的。