Как покрыть блок RowMapper в тесте junit с помощью макета? - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь смоделировать один запрос, потому что я использую блок rowmapper в качестве вывода. Я создал блок для new RowMapper<Object>() {}, внутри блока я устанавливаю значения на карте и возвращаю эту карту. Код выполняется успешно, но в покрытии кода я не могу охватить код внутри блока RowMapper.

Я пытался использовать thenAnswer для покрытия этого блока, но получаю исключение

jdbcTempCPA.query(sql, new Object[] { orderNo, orderNo }, new RowMapper<Object>() {
                @Override
                public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
                    ret.put("GetValue",
                            CommonUtil.correctNullString(rs.getString("SELECTED")));
                    ret.put("Indicator"
                            CommonUtil.correctNullString(rs.getString("ADVISORY_INDICATOR")));
                    return ret;
                }
            });

и вот код junit для покрытия вышеуказанного кода

Mockito.when(jdbcTemplateMock.query(Mockito.anyString(), Mockito.any(Object[].class),Matchers.<RowMapper<Map<String, String>>>any())).thenReturn(ret);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...