- 1.1. DBUnitとは
- 1.2. DBUnitのインストール
- 1.3. サンプルの実行
1.3 サンプルの実行
それでは、サンプルを実行してみましょう。サンプルを実行する手順は、以下のようになります。
- テーブルを準備する
- 被テストクラスを作成する
- テストクラスを作成する
- 実行
まず、テーブルの準備をしましょう。今回は、受注情報を表すテーブル「accept_order」テーブルを用意します。accept_orderテーブルは以下のようになります。Postgresqlを利用している場合、テーブル定義文はcreate_accept_order.sqlになります。
カラム名 | データ型 | P | NN | 内容 |
---|---|---|---|---|
o_num | char(4) |
*
|
*
|
受注番号 |
c_num | char(4) | 顧客番号 | ||
p_num | char(3) | 製品番号 | ||
dc_rate | integer | 割引率 | ||
option_price | integer | オプション価格 | ||
employee | char(3) | 従業員番号 | ||
accept_date | date | 受注日(default 'now') |
次に、被テストクラスを作成します。被テストクラスは、accept_orderテーブルを操作するAcceptOrderBean.javaです。AcceptOrderBeanでは、getConnectionメソッドを使用して、DBに接続するためのConnectionを取得しています。使用する環境に合わせて、getConnectionメソッドの内容を修正してください。修正後、コンパイルしてください。
private static Connection getConnection() throws Exception{ Class.forName("org.postgresql.Driver"); Connection connection=DriverManager.getConnection("jdbc:postgresql:Training.dbunit","postgres",""); return connection; }
最後に、テストクラスを作成します。テストクラスはAcceptOrderBeanTest.javaです。これも、AcceptOrderBean同様、getConnectionメソッドを修正し、コンパイルします。
private Connection getConnection() throws Exception{ Class.forName("org.postgresql.Driver"); Connection connection=DriverManager.getConnection("jdbc:postgresql:Training.dbunit","postgres",""); return connection; }
また、テストを実行するには、以下の3つのXMLファイルが必要です。
これらのファイルはテーブル内のデータを表すファイルです。詳しくは次章以降で説明します。これらのXMLファイルをダウンロードし、AcceptOrderBeanTestと同じディレクトリに配置してください。
これで、準備は終わりです。それでは、テストを実行してみましょう。
$ java junit.textui.TestRunner AcceptOrderBeanTest .... Time: 1.895 OK (4 tests)
AcceptOrderBeanTestでは、
- テストデータの投入
- メソッドの評価
- テーブルの後片付け
といった処理を行っています。これにより、accept_orderテーブルにデータを挿入したり削除したりしなくても、繰り返しテストを実行できます。
(実習課題1)
DBUnitをインストールし、サンプルプログラムを実行しなさい。また、テーブルに変更を加えずにサンプルプログラムを繰り返し実行できることを確かめなさい。