<?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>
        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.
    </para>

    <para>
        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.
        <classname>Zend_Test_PHPUnit_Db</classname> simplifie cette tâche en offrant la possibilité de créer
        des DataSets et des DataTables provenant d'instances de <classname>Zend_Db_Table_Abstract</classname>
        ou <classname>Zend_Db_Table_Rowset_Abstract</classname>.
    </para>

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

    <xi:include href="Zend_Test-PHPUnit-Db-Quickstart.xml">
        <xi:fallback><xi:include href="../../en/module_specs/Zend_Test-PHPUnit-Db-Quickstart.xml" /></xi:fallback>
    </xi:include>
    <xi:include href="Zend_Test-PHPUnit-Db-Testing.xml">
        <xi:fallback><xi:include href="../../en/module_specs/Zend_Test-PHPUnit-Db-Testing.xml" /></xi:fallback>
    </xi:include>
    <xi:include href="Zend_Test-PHPUnit-Db-Adapter.xml" />
</sect1>
