我正在编写一个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方法,但无法解决问题。
答案 0 :(得分:0)
我遇到了类似的覆盖问题,所以发布了一个对我有用的解决方案。
showTimePicker(
context: context,
initialTime: TimeOfDay.now(),
helpText: StringElements.selectTxnTime,
builder: (BuildContext context, Widget child) {
return Theme(
data: ThemeData.light().copyWith(
colorScheme: ColorScheme.light(
primary: Variables.cashBaseColor,
),
),
child: child,
);
},
)