Próbuję sfałszować obiekt PDO do użycia podczas pisania testów z phpunit, ale uważam, że jest to dość skomplikowane i nie można znaleźć za dużo dokumentacji na ten temat. Stworzyłem tę strukturę XML:Kpiny z PDO z phpunitem
<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>
i teraz chcę zapytać providers
tabeli i uzyskać dane z powrotem, ale ja po prostu nie mogę dowiedzieć się, jak to zrobić.
Zacząłem od kpiny z obiektu PDO
, ale nie rozumiem, jak powinienem z nim pracować i jak go używać w metodzie getConnection()
. moja pierwsza próba, która Zgaduję jego dość daleko od właściwej drodze, bo jestem tutaj bardzo zagubiony, wygląda mniej więcej tak:
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');
}
}
jak mogę nawiązać połączenie interakcji z plikiem 'adserverTesting.xml'
i jak można Pytam o to za pomocą następujących linii:
$ds = new PHPUnit_Extensions_Database_DataSet_QueryDataSet($this->getConnection());
$ds->addTable('adserverTesting', 'SELECT * FROM providers');