java - JdbcTemplate classCastException 在 Mockito.when thenReturn 期间
问题描述
我的问题是我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')
任何帮助表示赞赏。
解决方案
我认为 yopu 应该使用Arrays.asList(rec)
方法,以便您可以作为 List of 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));
推荐阅读
- javascript - 无法使用搜索栏获取 API 结果
- r - R中多个数据帧的选择函数
- c++ - 我试图编译我的代码并得到错误`时间类中的时间显示没有命名类型`
- python-3.x - 我怎样才能最好地在熊猫中拆分此列以获得具有流派的列?[{'id': 16, 'name': '动画'}
- java - 使用 for 循环存储 TextView 的文本
- amazon-web-services - 尝试调用 CreateBatchWrite 时出现错误,“AsyncLocal 中不存在实体”
DynamoDBContext 对象的方法 - python - 如何使用 Selenium 和 Python 点击元素
- python-3.x - 安装tensorflow时如何解决此错误?
- sql - 筛选 MAX 开始日期
- ios - Ionic v1 安全区域不适用于 Xcode 11.5 模拟器