我正在使用
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 );
原文地址:https://www.jb51.cc/php/137359.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。