Pat*_*tan 2 java spring mocking junit4 mockito
我有一个奇怪的编译问题。我无法解决此问题。同样的代码在另一个项目中也能正常工作
org.mockito.Mockito.when(jdbcTemplate.query(org.mockito.Matchers.anyString(),
org.mockito.Matchers.any(BeanPropertyRowMapper.class))).thenReturn(SOMELIST);
Run Code Online (Sandbox Code Playgroud)
我收到错误消息
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);
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是Eclipse问题。感谢您的帮助。
由于BeanPropertyRowMapper<T>是通用接口,因此您应该这样调用any():
Mockito.when(jdbcTemplate.query(Matchers.anyString(),
Matchers.<BeanPropertyRowMapper<MyClass>>any())).thenReturn(SOMELIST);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6162 次 |
| 最近记录: |