Я пытаюсь обмануть объект PDO, который будет использоваться при написании некоторых тестов с phpunit, но я нахожу его довольно сложным и не могу найти слишком много документации об этом. Я создал эту структуру xml:
<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>
и теперь я хочу запросить таблицу providers
и вернуть данные, но я просто не могу понять, как это сделать.
Я начал с насмешки над объектом PDO
, но я не понимаю, как мне работать с ним и как его использовать внутри метода getConnection()
.
моя первая попытка, которую я угадываю, ее довольно далеко от правильного пути, потому что я здесь очень потерян, выглядит примерно так:
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');
}
}
как я могу заставить соединение взаимодействовать с файлом 'adserverTesting.xml'
и как я могу запросить его, используя следующие строки:
$ds = new PHPUnit_Extensions_Database_DataSet_QueryDataSet($this->getConnection());
$ds->addTable('adserverTesting', 'SELECT * FROM providers');