Тестирование метода JdbcTemplete.BatchUpdate в Springboot - PullRequest
0 голосов
/ 29 сентября 2018

Я пишу тест JUnit для тестирования метода ниже, сохраненного в классе ExampleRepository,

@Repository
public class ExampleRepsoitory {

    @Autowired
    private JdbcTemplate jdbcTemplate;


    String sql = "Select * from Hello";

    public void save(List<Course> listOfCourses) {

        jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {

            @Override
            public void setValues(PreparedStatement arg0, int arg1) throws SQLException {

                System.out.println("In Set Values Method");
            }

            @Override
            public int getBatchSize() {

                System.out.println("In side getB");
                return 0;
            }
        });
    }

}

Ниже приведен метод JUnit,

@Test
public void testSave() throws Exception {

    List<Course> listofCourses = new ArrayList<Course>();

    Course course1 = new Course("Course1", "Spring", "10 Steps", Arrays
            .asList("Learn Maven", "Import Project", "First Example",
                    "Second Example"));
    Course course2 = new Course("Course2", "Spring MVC", "10 Examples",
            Arrays.asList("Learn Maven", "Import Project", "First Example",
                    "Second Example"));

    listofCourses.add(course1);
    listofCourses.add(course2);

    int[]  returnValue = {1,2,3};

    when(batchPreparedStatementSetter.getBatchSize()).thenReturn(5);

    when(jdbcTemplate.batchUpdate(sql, batchPreparedStatementSetter)).thenReturn(returnValue);

    exampleRepo.save(listofCourses);

}

Я хочу проверитькод в методах setValue() и getBatchSize(), чтобы он включал мое тестовое покрытие.

Пожалуйста, помогите, я пытался использовать вышеупомянутый метод JUnit, но он не работает.

...