8
我正在使用PHPUnit来测试通过我的存储对象插入对象。每个域对象都有一个添加和上次修改的时间戳,由存储对象自动处理。我可以使用PHPUnits DB扩展方法assertDataSetsEqual并按照下面的XML数据集进行传递。该问题被添加并且上次修改后不能被硬编码到XML数据集中,因为它会自动更改,我可以告诉PHPUnit忽略这些列吗?或者比较表格输出另一种方式(不是XML),我可以忽略这些列?PHPUnit数据库测试
测试
$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>
@Gcoop那是更知道,其中对外观比什么都重要的情况下,线工作。直到你问起,我都不知道过滤器是否存在。所以谢谢你让我搜索。我也学到了一些新的东西:) – Gordon 2010-11-11 11:23:07
表格过滤存在同样的事情:'new PHPUnit_Extensions_Database_DataSet_TableFilter($ table,$ excludeColumns)'。 – Archimedix 2014-01-31 15:23:57