Я пишу тест 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, но он не работает.