java - Java 类的 Groovy Spock 测试 - 如何模拟 Clob
问题描述
我正在使用 Groovy 的 Spock 框架为 Java 类编写单元测试,该类从数据库中获取 Clob,从该 Clob 中检索 InputStream(使用 java.sql.Clob.getAsciiStream() 方法),然后将该 InputStream 传递给ObjectMapper.readValue() 方法(来自 Jackson Databind 库)。关于如何模拟这种行为的任何想法?我见过一个有一个 MockClob 类的 java 库,但我想用 Spock 来做这件事。代码是这样的:
InputStream inputStream = database.getClob().getAsciiStream();
com.fasterxml.jackson.databind.ObjectMapper objectMapper = new ObjectMapper();
objectMapper.readValue(inputStream);
解决方案
我通过创建特定于数据库的 Clob 实现的实例找到了一种解决方法。该类是用于 ibm-db2 数据库的 DB2ConnectionlessClob。
推荐阅读
- asp.net-mvc - RedirectToAction 在 Edge 中不工作,但在所有其他浏览器中工作
- curl - curl 无法下载文件 - 响应为空
- android-layout - 如何使用负边距而不重叠?
- jquery - 如何在 VueJS 中使用现有的 bootstrap + jquery 模板?
- python - 如何使非冻结数据类冻结,反之亦然?
- ios - 如何更改 UIBezierPath() 图的 z 位置?
- node.js - 使用gulpfile时如何修复“任务'test'不在你的gulpfile中”错误
- javascript - 未捕获的类型错误:$.simpleTicker 不是函数
- html - 如何使用 CSS 设置平滑滚动的速度?
- excel - 如何编写一个可以组合不定长度的两列的函数