The method query(String, ResultSetExtractor) in

2019-02-28 11:33发布

I have a compile problem which is strange. I am not able to fix this. The same peice of code works fine in another project

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

I am getting error as

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

But When I do this, I do not get any error. But I am not expecting this.

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

I am not sure if this is an Eclipse problem. Appreciate your help on this.

2条回答
倾城 Initia
2楼-- · 2019-02-28 12:11

Check for the dependency (spring jars) for version mismatch between projects

查看更多
爷、活的狠高调
3楼-- · 2019-02-28 12:19

Since BeanPropertyRowMapper<T> is a generic interface, you should invoke any() like this:

Mockito.when(jdbcTemplate.query(Matchers.anyString(), 
    Matchers.<BeanPropertyRowMapper<MyClass>>any())).thenReturn(SOMELIST);
查看更多
登录 后发表回答