Zend_Test-PHPUnit-Db.xml 2.8 KB

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