2014-09-24 101 views
1

我有一个奇怪的编译问题。我无法解决这个问题。同一代码peice的另一个项目类型JdbcTemplate中的方法query(String,ResultSetExtractor <T>)不适用于参数(String,BeanPropertyRowMapper)

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问题。感谢您的帮助。

+0

我看不出有什么问题。什么类型的'jdbcTemplate'有? – talex 2014-09-24 15:22:10

+0

@talex从错误消息:“*'...在类型JdbcTemplate' *”中。 – 2014-09-25 07:49:55

回答

1

之间的版本不匹配。由于BeanPropertyRowMapper<T>是一个通用的接口,你应该调用any()这样的:

Mockito.when(jdbcTemplate.query(Matchers.anyString(), 
    Matchers.<BeanPropertyRowMapper<MyClass>>any())).thenReturn(SOMELIST); 
+0

非常感谢。它的作品 – Patan 2014-09-26 07:51:49

+0

以及如何编写匹配器:new Integer [] {1} 我的声明是:Mockito.when(jquery(Mockito.anyString(),Matchers。> any(),Matchers。> any()))。thenThrow(Exception.class); – Ajeetkumar 2017-06-07 09:53:24

0

检查的依赖(春瓶)的项目

相关问题