我正在尝试使用Mockito模拟下面的代码行对jdbctemplate.query的调用
jdbcTemplate.query(sql, paramMap, (rs, rowNum) -> rowMapper(rs))
其中参数分别为String,Map和ResultSetExtractor
当我尝试使用Mockito模拟它时,遇到了编译错误,下面是单元测试中的代码
when(jdbcTemplate.query(ArgumentMatchers.anyString(), ArgumentMatchers.anyMap(), ArgumentMatchers.any())).thenAnswer(invocation -> {
....
}
我得到的错误是
无法解析方法查询(java.lang.String,java.util.Map,T)
最佳答案
由于未编译,Mockito对仿制药的处理非常糟糕
尝试用any(ResultSetExtractor.class)替换any()
when(jdbcTemplate.query(ArgumentMatchers.anyString(), ArgumentMatchers.anyMap(), ArgumentMatchers.any(ResultSetExtractor.class))).thenAnswer(invocation -> {
....
}