機能 >

Commons_Test_S2DataSourceTestCase?

概要

  • これは、Seasar2.PHP5のデータソース(主にデータベース)用基底テストケースクラスです。
  • PHPUnit_Extensions_Database_TestCase? を継承し、S2TestCase の機能が追加されています。

主な機能

  • S2TestCase の機能に加え、以下の機能があります。
    No.機能説明備考
    1データソースの自動取得各テストごとに、S2Container オブジェクトから自動でデータソースオブジェクトを取得します。
    2トランザクション自動管理*Tx という名前のテストメソッドの実行時に、自動でトランザクションの開始とロールバックを行います。

使用方法

  • このテストケースクラスを継承し、必要なメソッドをオーバーライドし、テストメソッドを実装します。

主なオーバライド対象メソッド

  • onSetUp? 以降のメソッドはこのリストの順に実行されますので、前後関係にご注意ください。
    No.メソッドオーバーライド説明備考
    1isAutoBindable?任意フィールド名またはセッターによる自動バインドを行うか否か。デフォルトは有効。
    2getDataSourceName?任意S2コンテナで管理されるデータソースオブジェクトの名前を返します。オーバーライドしない場合、自動でコンテナからS2Container_DataSource? タイプのオブジェクトが検索され使用されます(ただし、S2Container_DataSource? タイプのオブジェクトがコンテナ内でただ一つである必要があります)。
    3getSchemaName?必須接続するデータベースのスキーマ名を返します。スキーマの概念のないMySQLの場合には、データベース名を返します。
    4onSetUp?任意必要な docon ファイルをインクルードします。setUp の代わりにこちらをオーバーライドします。
    5setUpAfterContainerInit?任意コンテナ初期化直後のセットアップ。
    6getDataSet?必須初期化データセットを返します。
    7setUpAfterBindFields?任意フィールド自動バインド直後のセットアップ。
    8tearDownBeforeUnbindFields?任意フィールド自動アンバインド直前のクリーンアップ。
    9tearDownBeforeContainerDestroy?任意コンテナ破壊直前のクリーンアップ。
    10onTearDown?任意tearDown の代わりにこちらをオーバーライドします。

テストメソッド命名規約

No.命名規約説明備考
1setUp<テスト対象メソッド名>テストメソッドごとの初期化メソッド。
2test<テスト対象メソッド名>テストメソッド。xUnitの一般的な命名規約。
3tearDown<テスト対象メソッド名>テストメソッドごとのクリーンアップメソッド。
4*Tx自動でテストがトランザクション管理されます。テストメソッド実行前(正確には初期化データのセットアップ前)にトランザクションが開始され、テストメソッド実行後にロールバックされます。テストデータのクリーンアップが必要なくなります。

使用例

Tips

  • PHPUnitパッチ - PHPUnit の DBUnit には(ver. 3.2.21時点)一部不具合がありますので、適宜パッチを当ててください。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-08-02 (土) 19:05:01 (3882d)