我正在尝试编写一个单元测试,但我似乎无法弄清楚如何为 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 等,但我似乎无法在网上或通过我自己的方式弄清楚。