Witam,
Chcialbym przetestować poniższą metodę za pomocą JUnit4 oraz Mockito. Czy mógłby ktoś bardziej doświadczony w temacie testowania naprowadzić mnie w jaki sposób można by to najlepiej rozwiązać? W przypadku zwracania jednej wartości jakiegoś typu to nie problem, jednak zastanawiam się w jaki sposób poradzić sobie z RowMapperem
public List<Assortment> getAssortmentList(String numer) throws IntegrationServiceException{
logger.debug("Pobieranie informacji ...");
String sql;
if(numer == null) {
sql = "SELECT ID," //
+ " NAZWA," //
+ " NUMER1," //
+ " NUMER2" //
+ " FROM TABELA1";
} else {
sql = "SELECT ID," //
+ " NAZWA,"
+ " NUMER1," //
+ " NUMER2" //
+ " FROM TABELA1" //
+ " WHERE NUMER1 = " + numer;
}
try {
return getJdbcTemplate().query(sql, new RowMapper<Assortment>() {
@Override
public Assortment mapRow(ResultSet resultSet, int i) throws SQLException {
Assortment assortment = new Assortment();
assortment.setAssortmentId(resultSet.getInt("ID"));
assortment.setAssortmentName(resultSet.getString("NAZWA"));
assortment.setAssortmentTableNumber(resultSet.getInt("NUMER1"));
assortment.setAssortmentRowNumber(resultSet.getInt("NUMER2"));
return assortment;
}
});
} catch(Exception e) {
logger.error("Błąd podczas pobierania listy pozycji ...");
throw new IntegrationServiceException("Błąd podczas pobierania listy pozycji ...", e);
}
}