Pustaka yang memudahkan pengujian unit kode berbasis basis data di PHP. Tiruan kelas PDO asli, tentukan hasil kueri, dan periksa pernyataan yang dieksekusi.
"[Dalam pemadaman kebakaran] alat selang yang digunakan untuk membagi satu saluran menjadi dua saluran pembuangan. Seringkali pintu gerbang digunakan untuk memungkinkan dan melarang aliran air melalui dua saluran pembuangan yang terpisah." - https://en.wikipedia.org/wiki/Glossary_of_firefighting_equipment#Wye
Wye terdaftar di Packagist dan dapat diinstal dengan Composer. Jalankan perintah berikut pada baris perintah:
composer require --dev stratedge/wye
Setelah Wye disertakan dalam proyek Anda, pastikan untuk meminta pemuat otomatis Komposer:
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!
TUNGGU, ADA LAGI
Untuk melihat lebih mendalam penggunaan Wye, lihat dokumentasi ekstensif, terutama bagian Penggunaan Dasar.
Dokumentasi lengkap dan terkini tersedia di Wiki.
Beberapa topik besar yang dibahas antara lain: Pendahuluan, Pendefinisian Hasil, Pemeriksaan Info Eksekusi, dan Pemeriksaan Binding.
Daftar peningkatan dan implementasi tersedia di halaman Todo & Roadmap di wiki.
Jika Anda menemukan masalah di Wye, dan Anda merasa dapat memperbaikinya, silakan lakukan. Permintaan tarik diterima dengan senang hati. Jika Anda tidak mempunyai waktu atau tenaga untuk memperbaikinya, harap catat masalahnya sedetail mungkin agar saya dapat memeriksanya.
Masalah dapat dicatat di pelacak masalah Github.
Wye dibangun berdasarkan ide yang pertama kali saya lihat diterapkan oleh teman/rekan saya Josh.