2016-07-11 6 views
1

Wir verwenden Easy Mock zum Erstellen JUnit Testfall in Java mit H2 Datenbank.Easy Mock Problem mit Blob

Als Code des Abrufens ist der Blob-Inhalt für Oracle spezifisch und erhält den folgenden Fehler.

Classcast: Kann nicht org.h2.jdbc.JdbcResultSet gegossen (id = 72) zu oracle.jdbc.driver.OracleResultSet

public BLOB getBLOB(String field) throws SQLException { 
       try {return ((OracleResultSet) rs).getBLOB(field); 
       } catch (NullPointerException e) {}} 

Bit mit diesem stecken als wie können wir damit umgehen in Easy Mock ohne den obigen Code zu ändern.

Antwort

1

Sie machen hier etwas Seltsames. Wenn Sie EasyMock verwenden, um sich über den Blob lustig zu machen, sollten Sie OracleResultSet und nicht JdbcResultSet vortäuschen.

Sie brauchen H2 hier nicht. Da machst du dich lustig.

Als eine Randnotiz: Bitte entfernen Sie den leeren Fang der NPE. Sie schießen sich dabei schwer in den Fuß.

+0

Wir verspotten nicht JdbcResultSet.In diesem Fall holen wir den Blob-Inhalt aus database.empty catch –

+0

Was ist dann spöttisch? – Henri

0

Wir verspotten nicht JdbcResultSet.In diesem Fall holen wir den Blob-Inhalt aus der Datenbank, so dass wir OracleResultSet nicht vortäuschen können. Der Code aus dem leeren Fang wurde entfernt.