我正在尝试编写单元测试,但我似乎无法弄清楚如何为Integer.class编写Mockito匹配器。
我正在尝试测试以下方法:
public List<Integer> getAllParticipatingChallengesByTeamId(int teamId) {
List<Integer> challengeIds = new ArrayList<Integer>();
MapSqlParameterSource args = new MapSqlParameterSource();
args.addValue("teamId", teamId);
try {
challengeIds = jdbcTemplate.queryForList(SQL_STRING, args, Integer.class);
} catch (Exception e) {
challengeIds = null;
}
return challengeIds;
}
通过对我的模拟jdbcTemplate进行存根来使用这样的匹配器返回一个值:
when(mockJdbc.queryForList(anyString(), any(SqlParameterSource.class), any(Integer.class)).thenReturn(integerList);
但当然匹配任何整数,而不是任何类!我尝试了Class.class等等,但我似乎无法在网上或通过我自己的方式解决它。
答案 0 :(得分:3)
使用Mockito中等号匹配器eq(Integer.class)