- PR -

テストケース(ResultSetについて)

1
投稿者投稿内容
ダメ猫
常連さん
会議室デビュー日: 2004/02/20
投稿数: 45
投稿日時: 2004-03-11 19:03
こんにちはダメ猫です。

現在、データベースから値を持ってきた時の処理のテストケースを作っているのですが、ResultSetで困っています。

コードは次のようになっています。
--------------------------------------------------------------------------------
public void setData(ResultSet rs) throws SQLException {
ResultSetMetaData rsmd = rs.getMetaData();
if(rs.next()){
do{
Vector row = new Vector();
for(int i = 0; i <= rsmd.getColumnCount(); i++){
try{
row.addElement(rs.getObject(i));
}catch(Exception e){
e.printStackTrace();
}
}
_data.addElement(row);
}while(rs.next());
}
} // end setData
--------------------------------------------------------------------------------

Mockオブジェクトを使っているので、rsにnextとgetObjectの結果を返すクラスを入れたいのですが、com.mockobjects.dynamic.MockのMockクラスを使うと、nextの呼び出し部分が複数回呼ぶので上手くいきません。(何回目かには値を変えなきゃいけませんし)
そこでResultSetをimplementsしたクラスを作ってそこでnextを作ってやろうと思いましたが、
「クラスは継承された抽象メソッド ResultSet.absolute(int) をインプリメントする必要があります。」
などのエラーが大量にでてしまいます。

何か良い方法は無いのでしょうか?
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2004-03-11 19:26
MockObjectsのJavadocを流し読みしただけで試していませんが、
com.mockobjects.sql.MockMultiRowResultSetと
com.mockobjects.sql.MockResultSetMetaDataを使えば解決しませんか?
ダメ猫
常連さん
会議室デビュー日: 2004/02/20
投稿数: 45
投稿日時: 2004-03-12 12:25
koeさん返信ありがとうございます。
返信が遅れてしまってすいません。

com.mockobjects.sql.MockMultiRowResultSetよりも
com.mockobjects.sql.MockSingleRowResultSetの方がこの場合は適していると思うので、そちらで現在作っています。


[ メッセージ編集済み 編集者: ダメ猫 編集日時 2004-03-12 12:35 ]
1

スキルアップ/キャリアアップ(JOB@IT)