# Zend_Test_PHPUnit_Db(日本語)

データ・アクセスとドメインモデルを組み合わせると、 目標をテストするために、データベースを使う必要がしばしばあります。 しかし、データベースはそれぞれのテスト全体で永続的です。 そして、それは互いに影響を及ぼすことができるテスト結果に至ります。 さらにまた、テストが動作できるようにするためにデータベースを準備することは、 相当な作業です。 PHPUnitデータベース機能拡張では、 それぞれのテストの間でデータベースを準備したり、取り外したりするための、 きわめて単純な手法を提供することにより、 データベースを用いたテストを単純化します。 Zend Frameworkアプリケーションに対する データベース・テストを書くことが単純化されるように、 このコンポーネントは、Zend Frameworkに依存したコードでPHPUnitデータベース機能拡張を拡張します。

データベース・テストは、2つの概念上の実体、DataSets及びDataTablesで説明できます。 内部的には、PHPUnitデータベース機能拡張は、データベース、そのテーブルと、 構成ファイルまたは本当のデータベース内容からなる列を含むオブジェクト構造を構築できます。 そこで、この抽象的なオブジェクト・グラフは、位置指定子を使用して比較できます。 データベース・テストの一般的なユース･ケースは、 種となるデータで一部のテーブルを準備し、 それから操作を一部実行して、 データベース階層で操作されたことが、 あらかじめ定義された期待される、とある状態と等しいことを最終的に示すことです。 Zend_Test_PHPUnit_Dbは、 既存のZend_Db_Table_Abstract またはZend_Db_Table_Rowset_Abstract インスタンスからDataSets及びDataTablesを生成できるようにして、 この作業を単純化します。

さらにまた、このコンポーネントは、どんなZend_Db_Adapter_Abstractでも テストのために統合できるようにします。 ところが、本来の機能拡張は、PDOで機能するだけです。 Zend_Db_Adapter_Abstractのためのテスト・アダプタ実装は、 このコンポーネントにも含まれます。 APIメソッドによって使われる SQLと結果スタックの働きをするDBアダプタを データベースを全く必要としないで、 インスタンス化できるようにします。