# Zend_Test_PHPUnit_Db

Couper l'accès aux données au modèle métier requiert souvent l'utilisation d'une base de données pour les tests. Mais la base est persistente entre les tests, et leur isolation est donc rompue, de plus, configurer une base de données pour des tests peut vite s'avérer complexe. L'extension sur les bases de données de PHPUnit simplifie les procédures de tests en offrant des mécanismes de preconditions et postconditions sur la base entre les tests. Ce composant étend donc l'extension base de données de PHPUnit en ajoutant du code spécifique à Zend Framework.

Les tests de base de données peuvent être résumés en 2 notions : DataSets et DataTables. En interne, PHPUnit peut créer un objet dont la structure est callée sur une base de données dont les tables et les enregistrements sont montés depuis un fichier de configuration ou un contenu réel. Cet objet abstrait peut alors être comparé à des structures. Un cas courant en tests de base de données consiste à configurer des tables en les remplissant de données fictives, éxecuter du code "utile", puis comparer la base de données avec une structure. `Zend_Test_PHPUnit_Db` simplifie cette tâche en offrant la possibilité de créer des DataSets et des DataTables provenant d'instances de `Zend_Db_Table_Abstract` ou `Zend_Db_Table_Rowset_Abstract`.

Aussi, ce composant permet l'utilisation de n'importe quel `Zend_Db_Adapter_Abstract` alors qu'à l'originine PHPUnit ne fonctionne qu'avec PDO. Un adaptateur de test basé sur `Zend_Db_Adapter_Abstract` est aussi inclus. Il permet d'instancier un adaptateur qui ne requiert aucune base de données réelle.