आपको पीडीओ का मजाक उड़ाने की जरूरत नहीं है। यहां उदाहरण दें कि यह कैसे काम करता है:
कनेक्शनटेस्ट.php:
<?php
class ConnectionTest extends PHPUnit_Extensions_Database_TestCase
{
public function getConnection()
{
$database = 'myguestbook';
$user = 'root';
$password = '';
$pdo = new PDO('mysql:host=localhost;dbname=myguestbook', $user, $password);
$pdo->exec('CREATE TABLE IF NOT EXISTS guestbook (id int, content text, user text, created text)');
return $this->createDefaultDBConnection($pdo, $database);
}
public function getDataSet()
{
return $this->createFlatXMLDataSet(__DIR__.'/dataSets/myFlatXmlFixture.xml');
}
public function testGetRowCount()
{
$this->assertEquals(2, $this->getConnection()->getRowCount('guestbook'));
}
}
myFlatXmlFixture.xml
<?xml version="1.0" ?>
<dataset>
<guestbook id="1" content="Hello buddy!" user="joe" created="2010-04-24 17:15:23" />
<guestbook id="2" content="I like it!" user="nancy" created="2010-04-26 12:14:20" />
</dataset>
परिणाम:
सेबस्टियन बर्गमैन और योगदानकर्ताओं द्वाराPHPUnit 4.7.6 by Sebastian Bergmann and contributors.
.
Time: 215 ms, Memory: 5.25Mb
OK (1 test, 1 assertion)
डीबी के खिलाफ परीक्षणों में मुख्य बिंदु डीबी का नकली नहीं है बल्कि उत्पादन डीबी के लिए बिल्कुल वही पीडीओ कनेक्शन भी नहीं है बल्कि परीक्षण के लिए डीबी के लिए, यह MySQL, sqlite आदि हो सकता है ...