Mockito中的jdbcTemplate classCastException.when thenReturn

时间:2019-09-30 12:29:11

标签: java mockito

我的问题是我在与classCastException进行单元测试时得到了Mockito。(我是Mockito的新手)

    Mockito.when(jdbcTemplate.query(eq("select * from V_MONITORING"),
                                 eq(namedParameters),
                                 eq(new BeanPropertyRowMapper<> 
 (V_MONITORING_Record.class)))).thenReturn((List <V_MONITORING_Record> ) rec);
  

没有强制转换,它不会编译,但是通过强制转换,我得到了一个例外:

java.lang.ClassCastException: ...V_MONITORING_Record cannot be cast to class java.util.List (...V_MONITORING_Record is in unnamed module of loader 'app'; java.util.List is in module java.base of loader 'bootstrap')

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为yopu应该使用Arrays.asList(rec)方法,以便您可以作为V_MONITORING_Record.class的列表返回。

Mockito.when(jdbcTemplate.query(eq("select * from V_MONITORING"),
                                 eq(namedParameters),
                                 eq(new BeanPropertyRowMapper<> 
 (V_MONITORING_Record.class)))).thenReturn(Arrays.asList(rec));