ниже мой пользовательский Spring Batch Reader. Я ДОЛЖЕН написать джунты, которые охватывают setPreparedStatementSetter()
и setRowMapper()
методы. Что бы я ни пытался, мой модульный тест не охватывает код в этих методах. Может кто-нибудь, пожалуйста, укажите мне, как написать junit для таких анонимных методов. Спасибо.
PS : Я знаю, что джунты не предназначены для тестирования специфичных для платформы методов реализации, но мне это нужно для покрытия кода.
public class MyDataReader extends JdbcCursorItemReader<ABC> {
public MyReader(DataSource dataSource, String beginTime, String endTime) {
setSql(QUERY);
setPreparedStatementSetter(new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps) throws SQLException {
// Set parameters on the SQL query
ps.setLong(1, Long.parseLong(beginTime.trim()));
ps.setLong(2, Long.parseLong(endTime.trim()));
}
});
setDataSource(dataSource);
setRowMapper((ResultSet rs, int rowNum) -> {
ABC abc = new ABC();
abc.setDateTime(getLongOrNull("DT", rs));
abc.setStmt(getBooleanOrNull("SP", rs));
return abc;
});
}
}