Ich versuche, PDO-Objekt zu verspotten, um zu verwenden, wenn ich einige Tests mit phpunit schreibe, aber ich finde es ziemlich kompliziert und kann nicht viel Dokumentation darüber finden. Ich habe diese XML-Struktur:Mocking PDO mit phpunit
<dataset>
<table name="providers">
<column>id</column>
<column>name</column>
<column>description</column>
<row>
<value>1</value>
<value>provdier_1</value>
<value>phpunit first provider</value>
</row>
</table>
</dataset>
und jetzt will ich providers
Tabelle abfragen und die Daten zurück zu bekommen, aber ich kann einfach nicht herausfinden, wie das zu tun.
Ich begann mit dem PDO
Objekt zu verspotten, aber ich verstehe nicht, wie ich damit arbeiten soll und wie man es innerhalb der getConnection()
Methode verwenden kann. mein erster Versuch, die ich vermute, ich seine ziemlich weit von der richtigen Art und Weise, weil ich sehr hier bin verloren, sieht in etwa wie folgt aus:
class AdProvidersTest extends PHPUnit_Extensions_Database_TestCase
{
public function getConnection()
{
$dsn = 'mydb';
$user = '';
$password = '';
$pdo = $this->getMockBuilder('PDOMock')
->getMock();
return $this->createDefaultDBConnection($pdo, 'adserverTesting');
}
public function getDataSet()
{
return $this->createXMLDataSet('adserverTesting.xml');
}
}
wie kann ich die Verbindung mit dem 'adserverTesting.xml'
Datei interagieren machen und wie kann ich abfragen es diese Zeilen mit:
$ds = new PHPUnit_Extensions_Database_DataSet_QueryDataSet($this->getConnection());
$ds->addTable('adserverTesting', 'SELECT * FROM providers');