Тест Mockito для шаблона Spring NamedJDBC

#spring #unit-testing #mockito #jdbctemplate

#весна #модульное тестирование #mockito #jdbctemplate

Вопрос:

Я пытаюсь выяснить тест mickito для именованного шаблона Jdbc, но не могу этого сделать. Я погуглил, но не нашел никакого точного результата. Ниже приведен пример кода.

Student.class

 @Data
public class Student {

    private int id;
    private String name;
    private String address;

    public Student(ResultSet rs) throws SQLException {
        id = rs.getInt("id");
        name = rs.getString("name");
        address = rs.getString("address");
    }
}
  

Класс Student принимает аргумент ResultSet в конструкторе и сопоставляет все столбцы с переменной .

StudentService.class

 public class StudentService {

    @Autowired
    @Qualifier("namedJdbcTemplate")
    NamedParameterJdbcTemplate namedParameterJdbcTemplate;

    public Student gerStudent(String id) {
        Student student;
        String selectStudent = "select id , name ,address from student where id=:id";
        MapSqlParameterSource mapSqlParameterSource = new MapSqlParameterSource();
        mapSqlParameterSource.addValue(id, "id");
        student = namedParameterJdbcTemplate.query(selectStudent, mapSqlParameterSource, resultSet -> {
            Student response = new Student(resultSet);
            return response;
        });

        return student;
    }
}
  

Может кто-нибудь, пожалуйста, помочь с тестированием Mockito для приведенной ниже строки кода?

 student = namedParameterJdbcTemplate.query(selectStudent, mapSqlParameterSource, resultSet -> {
                Student response = new Student(resultSet);
                return response;
            });
  

Комментарии:

1. Как вы инициализируете namedParameterJdbcTemplate ? Я должен издеваться над вашим NamedParameterJdbcTemplate объектом.

2. @iamanbansal Я автоматически подключаюсь к XML-компоненту. Я только что обновил рассматриваемый код. Спасибо.

3. @Shashi если вы не включите все детали в свой код, вы получите неполные ответы . Удалил мой собственный