用 phpunit 模拟 PDO
我试图模拟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');