Сонар не показывает покрытие для перезаписанных строк метода

#java #junit #sonarqube

Вопрос:

Я должен охватить все строки для этого метода:

 public Listlt;OutputDtogt; queryRating(InputDto input) {   final String inIdList = String.join(",", Collections.nCopies(input.getIdList().size(), "?"));   PreparedStatementSetter preparedStatementSetter = new PreparedStatementSetter() {  @Override  public void setValues(PreparedStatement ps) throws SQLException {  ps.setString(1, input.getFirstParam());  ps.setString(2, input.getSecondParam());  int inkey = 6;  for (String id : input.getIdList()) {  ps.setString(inkey, id);  inkey  ;  }  }  };  return this.jdbcTemplate.query(String.format(env.getProperty("env.property"), inIdList),  preparedStatementSetter, new RatingMapper());  }  

У меня есть этот тест:

 @Test public void queryRatingTest() {   InputDto input = new InputDto();  input.setIdList(Arrays.asList("S1", "S2"));   when(this.jdbcTemplate.query(anyString(), any(PreparedStatementSetter.class),  any(RatingMapper.class))).thenReturn(new ArrayListlt;gt;());   Listlt;OutputDtogt; result = this.dao.queryRating(input);  assertNotNull(result); }  

Который работает правильно, но в тестовом покрытии сонара все строки перезаписанного метода отображаются как не покрытые (хотя из результата я вижу, что выполняется метод setValues).

Есть ли какой-либо способ, которым я могу реорганизовать этот код, чтобы эти строки в setValues отображались как покрытые?

Кстати, в классе PreparedStatementSetter.java это интерфейс от org.springframework.jdbc.core