| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.test.phpunit.db" xmlns:xi="http://www.w3.org/2001/XInclude">
- <title>Zend_Test_PHPUnit_Db</title>
- <para>
- Die Kopplung von Datenzugriff und dem Domain Modell benötigt oft die Verwendung einer
- Datenbank für Testzwecke. Aber die Datenbank ist persistent über alle Tests was dazu
- führen kann das die Test Resultate sich gegenseitig beeinflussen. Weiters ist das
- Setup der Datenbank eine ganz schöne Arbeit damit die Tests laufen können. PHPUnit's
- Datenbank Extension vereinfacht das Testen mit einer Datenbank durch das Anbieten eines
- einfachen Mechanismus für das Setup und Herunterfahren der Datenbank zwischen den
- unterschiedlichen Tests. Diese Komponente erweitert die PHPUnit Datenbank Extension
- mit Zend Framework spezifischem Code, damit das Schreiben von Datenbank Tests für
- Zend Framework Anwendungen vereinfacht wird.
- </para>
- <para>
- Das Testen von Datenbanken kann mit zwei konzeptionellen Einträgen beschrieben werden,
- DataSets und DataTables. Intern kann die PHPUnit Datenbank Extension eine Objekt Struktur
- von einer Datenbank erstellen, und dessen Tabellen und enthaltene Zeilen von einer
- Konfigurationsdatei oder einer realen Datenbankinhalt. Dieser abstrakte Objektgraph kann
- dann verglichen werden indem Assertions verwendet werden. Ein üblicher Verwendungszweck
- beim Testen von Datenbanken ist das Setup von einigen Tabellen mit eingefügten Daten, in
- denen dann einige Operationen stattfinden, und letztendlich geprüft wird das der
- endgültige Datenbankstatus identisch mit dem vordefinierten und erwarteten Status ist.
- <classname>Zend_Test_PHPUnit_Db</classname> vereinfacht diese Aufgabe indem es erlaubt wird
- DataSets und DataTables von existierenden <classname>Zend_Db_Table_Abstract</classname>
- oder <classname>Zend_Db_Table_Rowset_Abstract</classname> Instanzen erstellt werden.
- </para>
- <para>
- Weiters erlaubt es diese Komponente jede <classname>Zend_Db_Adapter_Abstract</classname>
- für das Testen zu integrieren wobei die originale Erweiterung nur mit
- <acronym>PDO</acronym> arbeitet. Eine Implementation des Test Adapters für
- <classname>Zend_Db_Adapter_Abstract</classname> ist auch in dieser Komponente inkludiert.
- Sie erlaubt es einen Db Adapter zu instanziieren der überhaupt keine Datenbank benötigt und
- als <acronym>SQL</acronym> arbeitet sowie als Ergebnis Stack der von den
- <acronym>API</acronym> Methoden verwendet wird.
- </para>
- <xi:include href="Zend_Test-PHPUnit-Db-Quickstart.xml" />
- <xi:include href="Zend_Test-PHPUnit-Db-Testing.xml" />
- <xi:include href="Zend_Test-PHPUnit-Db-Adapter.xml" />
- </sect1>
|