小井土です。
> 十河です。
>
> > DatabaseAccessTestCaseというクラスで、テーブルの件数取得やテーブルデータの
> > 読み込み関数を提供しています。
>
> こんにちわ。お返事ありがとうございます。
> コストコード面白いです。この方法だと、シンプルにテストが書けますね。
>
> トランザクションの部分をどのように利用されているのでしょうか。
>
> 現在作っているシステムがテストされていない複雑なストアドプロシージャを多
> 用しているため、DBの内容を変更せずにテストを行うことができないかと思って
> いました。
DB処理するクラスの親クラスとして、コネクションを置き換えられる
クラスを作成します。
通常は、普通に、コネクションを行います。
テスト時は、コネクションを共有するテスト用のクラスに差し替えを行います。
後は、同じコネクションにテストと実処理を入れて、最後にロールバックという
形です。
テスト用の親クラスは、テーブルの数やSQL文を渡すとレコードデータを
文字列配列にして返してくれるユーティリティと、クラスの差し替えを行っています。
#小出しにしているみたいなのですが、今資料を作っているので。
#詳細は、そちらで報告する予定です。
#時期は未定。