Tengo el código donde llene el conjunto de resultados con CallableStatement.executeQuery(). Me he burlado de ResultSet y CallableStatement, pero para probar el método tengo que completar ResultSet.cómo simular el conjunto de resultados y poblarlo usando Mockito en Java
Este es el código del método que estoy probando
ResultSet rset = cs.executeQuery();
while (rset.next()) {
IndexVolatilityImpl tsImpl = new IndexVolatilityImpl();
tsImpl.setTradeDate(rset.getString("trade_date"));
tsImpl.setTradeTime(rset.getString("trade_time"));
tsImpl.setExprDate(rset.getString("expr_date"));
tsImpl.setSymbol(rset.getString("symbol"));
tsImpl.setTradePrice(rset.getDouble("trade_price"));
tsImpl.setContractMonth(rset.getString("contract_month"));
tsImpl.setMilliSecs(rset.getString("trade_time_thou"));
colIndexVolatilityImpl.add(tsImpl);
he burlado de la CallableStatement y conjunto de resultados, ya que ahora son objeto de burla mi rseto viene con las manos vacías. Me gustaría llenar conjunto de resultados y hacerlo de la siguiente manera
resultSetMock = Mockito.mock(ResultSet.class);
Mockito.when(resultSetMock.getString("trade_date")).thenReturn("03/10/2011");
Mockito.when(resultSetMock.getString("trade_time")).thenReturn("12:24:56");
Mockito.when(resultSetMock.getString("expr_date")).thenReturn("03/19/2011");
Mockito.when(resultSetMock.getString("symbol")).thenReturn("VIX1");
Mockito.when(resultSetMock.getDouble("trade_price")).thenReturn(Double.valueOf("20.96"));
Mockito.when(resultSetMock.getString("contract_month")).thenReturn("1");
Mockito.when(resultSetMock.getString("trade_time_thou")).thenReturn("165");
Mockito.doReturn(resultSetMock).when(callableStatementMock).executeQuery();
Pero de resultados cheques a ser nulo.
Por lo tanto, cualquier ayuda será apreciada para ayudar a poblar resultados simulados.
Gracias Tejas
mejor respuesta está en el fondo y tiene más de 24 upvotes por @proactif – nanospeck