加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHPUnit数据库测试

发布时间:2020-12-13 13:25:58 所属栏目:PHP教程 来源:网络整理
导读:我正在使用 PHPUnit来测试通过我的存储对象插入对象.每个域对象都有一个添加的和最后修改的时间戳,由存储对象自动处理.我可以使用PHPUnits数据库扩展方法assertDataSetsEqual并传递为XML数据集,如下所示.问题被添加并且lastmodified无法硬编码到XML数据集中,
我正在使用 PHPUnit来测试通过我的存储对象插入对象.每个域对象都有一个添加的和最后修改的时间戳,由存储对象自动处理.我可以使用PHPUnits数据库扩展方法assertDataSetsEqual并传递为XML数据集,如下所示.问题被添加并且lastmodified无法硬编码到XML数据集中,因为这将自动更改,我可以告诉PHPUnit忽略这些cols吗?或者比较表输出的另一种方式(不是XML)我可以忽略这些列?

测试

$user = new Social_User();
$user->setFk_mswuserId(10);
$user->setFirstName('Gavin');

$store = new Storage();
$store->save($user);

$xml_dataset = $this->createFlatXMLDataSet('after-new.xml');
$this->assertDataSetsEqual($xml_dataset,$this->getConnection()->createDataSet());

XML数据集

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
            <user id="1" password="NULL" ip="0" added="0" authenticated="0" lat="0" lon="0" avatar="0" fk_mswuserId="1" timezoneoffset="0" firstName="Ben" lastName="Freeston" deleted="0" lastModified="0" />
            <user id="2" password="NULL" ip="0" added="0" authenticated="0" lat="0" lon="0" avatar="0" fk_mswuserId="10" timezoneoffset="0" firstName="Gavin" lastName="Cooper" deleted="0" lastModified="0"/>
</dataset>
根据

> http://www.phpunit.de/ticket/492

这已经是内置的.

另请参阅M.Lively(主要DBUnit作者)的这些幻灯片

> http://www.slideshare.net/mjlivelyjr/advanced-phpunit-testing

和B. Eberlei使用PHPUnit进行数据库测试的终极指南

> http://www.phpunit.de/manual/dbunit.txt

所以它应该按照的方式工作

$database_dataset = new PHPUnit_Extensions_Database_DataSet_DataSetFilter ( 
    $this->getConnection()->createDataSet(array('bank_account')),array('bank_account' => array ('date_created')) // excluded
);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读