Ich verwende PHPUnit, um das Einfügen von Objekten über mein Speicherobjekt zu testen. Jedes Domänenobjekt verfügt über einen hinzugefügten und zuletzt geänderten Zeitstempel, der vom Speicherobjekt automatisch verarbeitet wird. Ich kann PHPUnits DB Extensions Methode AssertDataSetsEqual und Übergabe als XML-Datensatz wie folgt verwenden. Das Problem wurde hinzugefügt und lastmodified kann nicht fest in das XML-Dataset geschrieben werden, da sich dies automatisch ändert. Kann ich PHPUnit sagen, diese Spalten zu ignorieren? oder die Tabellenausgabe anders vergleichen (nicht XML), wo ich diese Spalten ignorieren kann?PHPUnit Database Testing
-Test
$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-Datensatz
<?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, die viel mehr ein Fall von zu wissen-wo-to-Look als alles andere war. Ich hatte keine Ahnung, dass der Filter existiert, bis du gefragt hast. Danke, dass Sie mich suchen lassen. Ich habe auch etwas Neues gelernt;) – Gordon
Dasselbe gilt für die Tabellenfilterung: 'new PHPUnit_Extensions_Database_DataSet_TableFilter ($ table, $ excludeColumns)'. – Archimedix