2016-07-11 7 views
1

Easy Mockを使用してJUnitのテストケースをjavaに作成し、H2データベースを作成しています。ブロブでの簡単なモックの問題

Blobの内容を取得するコードは、Oracle固有のものであり、次のエラーが発生します。

にClassCastException:我々はこれを処理する方法として、これに立ち往生oracle.jdbc.driver.OracleResultSet

にorg.h2.jdbc.JdbcResultSetをキャストすることはできません(ID = 72)
public BLOB getBLOB(String field) throws SQLException { 
       try {return ((OracleResultSet) rs).getBLOB(field); 
       } catch (NullPointerException e) {}} 

ビットEasy Mock上記のコードを変更することなく。

答えて

1

あなたはここで変なことをしています。 EasyMockを使用してBLOBをモックする場合は、JdbcResultSetではなく、OracleResultSetをモックする必要があります。

ここでH2は必要ありません。あなたは嘲笑しているから。

注:NPEの空のキャッチを遠隔操作してください。あなたはそれを行うときに足で自分自身を大量に撮影しています。

+0

私たちはJdbcResultSetを嘲笑しているわけではありません。この場合、database.empty catchからBLOBの内容を取得しています –

+0

次に嘲笑は何ですか? – Henri

0

私たちはJdbcResultSetを嘲笑していません。この場合、OracleResultSetをモックできないように、データベースからBLOBの内容をフェッチしています。 Empty catchからコードを削除しました。