小编典典

方法query(String,ResultSetExtractor)中的JdbcTemplate类型不适用于参数(String,BeanPropertyRowMapper)

java

我有一个奇怪的编译问题。我无法解决此问题。同样的代码在另一个项目中也能正常工作

org.mockito.Mockito.when(jdbcTemplate.query(org.mockito.Matchers.anyString(), 
    org.mockito.Matchers.any(BeanPropertyRowMapper.class))).thenReturn(SOMELIST);

我收到错误消息

The method query(String, ResultSetExtractor<T>) in the type JdbcTemplate is not applicable for the arguments (String, BeanPropertyRowMapper)

但是,当我这样做时,不会出现任何错误。但是我没想到这一点。

BeanPropertyRowMapper<MyClass> mapper = 
    new BeanPropertyRowMapper<MyClass>(MyClass.class);
org.mockito.Mockito.when(jdbcTemplate.query(org.mockito.Matchers.anyString(), 
    mapper)).thenReturn(SOMELIST);

我不确定这是否是Eclipse问题。感谢您的帮助。


阅读 627

收藏
2020-11-26

共1个答案

小编典典

由于BeanPropertyRowMapper<T>是通用接口,因此您应该any()像这样调用:

Mockito.when(jdbcTemplate.query(Matchers.anyString(), 
    Matchers.<BeanPropertyRowMapper<MyClass>>any())).thenReturn(SOMELIST);
2020-11-26