Index: [Article Count Order] [Thread]

Date:  Thu, 20 Nov 2003 16:11:58 +0900
From:  Toshihiko DOI <t-doi@....com>
Subject:  [XP-jp:04760] Re: mock object について
To:  extremeprogramming-jp@....jp
Message-Id:  <20031120155127.87AD.T-DOI@....com>
In-Reply-To:  <20031119222630.D097.MLMLML@....jp>
References:  <JX20031119170346.401211121@....jp> <20031119222630.D097.MLMLML@....jp>
X-Mail-Count: 04760

土居と申します。

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