您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
phpunit数据库测试-多表测试(MySQL XML 数据集)
发布时间:2021-09-27 14:16:29编辑:雪饮阅读()
MySQL XML 数据集可以用于phpunit同时创建来源于多个表的数据。
use PHPUnit\Framework\TestCase;
use PHPUnit\DbUnit\TestCaseTrait;
abstract class MyAppTestsDatabaseTestCase extends TestCase
{
use TestCaseTrait;
static private $pdo = null;
private $conn = null;
final public function getConnection()
{
if ($this->conn === null) {
if (self::$pdo == null) {
self::$pdo = new PDO( $GLOBALS['DB_DSN'], $GLOBALS['DB_USER'], $GLOBALS['DB_PASSWD'] );
}
$this->conn = $this->createDefaultDBConnection(self::$pdo, $GLOBALS['DB_DBNAME']);
}
return $this->conn;
}
public function getDataSet()
{
return $this->createMySQLXMLDataSet(dirname(__FILE__).'/file.xml');
}
}
class MyAppTestsDatabaseTestCaseImplement extends MyAppTestsDatabaseTestCase{
public function testConnect(){
$l_conn=$this->getConnection();
var_dump($l_conn);
}
}
可以看到这里我的数据库中是有两个表的,这两个表的数据都在这里了。
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="myguestbook">
<table_data name="guestbook">
<row>
<field name="id">1</field>
<field name="content">Hello buddy!</field>
<field name="user">joe</field>
<field name="created">2010-04-24 01:15:23</field>
</row>
<row>
<field name="id">2</field>
<field name="content">I like it!</field>
<field name="user" xsi:nil="true" />
<field name="created">2010-04-25 20:14:20</field>
</row>
</table_data>
<table_data name="guestbook_copy1">
<row>
<field name="id">1</field>
<field name="content">Hello buddy!</field>
<field name="user">joe</field>
<field name="created">2010-04-24 01:15:23</field>
</row>
<row>
<field name="id">2</field>
<field name="content">I like it!</field>
<field name="user" xsi:nil="true" />
<field name="created">2010-04-25 20:14:20</field>
</row>
</table_data>
</database>
</mysqldump>
关键字词:phpunit,多表,MySQL XML 数据集