DBUnit 3章 更新メソッドのテスト
- 3.1. 更新メソッドのテスト
- 3.2. テストデータの作成
- 3.3. 単体テストの実装
3.2 テストデータの作成
更新メソッドのテストでは、テストデータとして「メソッド実行前のテーブルデータ」「メソッド実行後のテーブルデータ」の2つを作成します。
例えば、storeメソッド実行前のaccept_orderテーブルは以下の状態であったとします。
o_num | c_num | p_num | dc_rate | option_price | employee | accept_date |
---|---|---|---|---|---|---|
5001 | 1000 | 501 | 5 | 30 | 101 | 2004-01-01 |
5002 | 1001 | 502 | 10 | 20 | 104 | 2004-02-02 |
5003 | 1002 | 503 | 15 | 10 | 101 | 2004-01-31 |
すると、「3.1」で示したAccpetOrderBeanインスタンスのstoreメソッドを実行した場合、テーブルは以下のようになっているはずです。
o_num | c_num | p_num | dc_rate | option_price | employee | accept_date |
---|---|---|---|---|---|---|
5001 | 1000 | 501 | 5 | 30 | 101 | 2004-01-01 |
5002 | 1001 | 502 | 10 | 20 | 104 | 2004-02-02 |
5003 | 1002 | 503 | 15 | 10 | 101 | 2004-01-31 |
5004 | 1004 | 501 | 20 | 400 | 101 | 2004-01-03 |
このような場合、「メソッド実行前のテーブルデータ」「メソッド実行後のテーブルデータ」の2つを表すテストデータをXMLで作成します。 まずメソッド実行前のテーブルを表すテストデータを作成します。テストデータは以下のようになります。
accept_order_data.xml
<?xml version='1.0' encoding="EUC-JP"?> <dataset> <ACCEPT_ORDER o_num="5001" c_num="1000" p_num="501" dc_rate="5" option_price="30" employee="101" accept_date="2004-01-01" /> <ACCEPT_ORDER o_num="5002" c_num="1001" p_num="502" dc_rate="10" option_price="20" employee="104" accept_date="2004-02-02" /> <ACCEPT_ORDER o_num="5003" c_num="1002" p_num="503" dc_rate="15" option_price="10" employee="101" accept_date="2004-01-31" /> </dataset>
次に、storeメソッドが正しく実装されていた場合、メソッド実行後のテーブルの状態を表すテストデータを作成します。テストデータは以下のようになります。
accept_order_data2.xml
<?xml version='1.0' encoding="EUC-JP"?> <dataset> <ACCEPT_ORDER o_num="5001" c_num="1000" p_num="501" dc_rate="5" option_price="30" employee="101" accept_date="2004-01-01" /> <ACCEPT_ORDER o_num="5002" c_num="1001" p_num="502" dc_rate="10" option_price="20" employee="104" accept_date="2004-02-02" /> <ACCEPT_ORDER o_num="5003" c_num="1002" p_num="503" dc_rate="15" option_price="10" employee="101" accept_date="2004-01-31" /> <ACCEPT_ORDER o_num="5004" c_num="1004" p_num="501" dc_rate="20" option_price="400" employee="101" accept_date="2004-01-03" /> </dataset>