土居と申します。
On Wed, 19 Nov 2003 22:54:04 +0900
shima tetuo <mlmlml@....jp> wrote:
> 今のところmock objectを使用する際において、"結果"となるデータの検証につ
> いてこれと言った打開策がないように見えますが、データ操作の絡むクラスの
> Unitテストをする際、皆さんは現在どのようにテストしているのでしょうか?
> (mock objectを使用するしないを問わずに)
> 今のところ自分はmock objectを今ひとつうまく使ってテストが出来ていないの
> で、TastCase内でテストの事前にデータを整理して、環境を整えてからテストを
> しています。(要は古典的なやつです)
>
>
> 自分はこういう効率的なデータ操作がらみのUnitテストをしている!と言う方が
> いたら意見を聞いてみたいです。
mock objectからはそれますが、私の場合は、XMLファイルにSQL文を定義して、
それからデータベースにアクセスするクラスを生成するツールを作成してテスト
で利用しました。
テストにはJUnitを利用しましたが、テスト用の初期データの準備には、CSVファ
イルからデータベースにデータをロードするツールを作成し、setUp()で呼び出
すようにしました。
また、tearDown()でトランザクションを必ずrollbackするようにしました。
テストの実行結果の検証は、上記ツールで生成したクラスによりデータベースよ
りデータを取得し行いました。
「データベースに格納された値を直接見ることができないから問題」という渋川
のアイデアに近い感じですが…。
ところで、mock objectを利用する/したい場合は、最終的な"結果"となるデー
タを意識したくないから利用するのだと思うのですが、違うのでしょうか?
---
土居俊彦(DOI Toshihiko)
http://www.t-doi.org/
t-doi@....com
t-doi@....jp