java - 如何构造 org.jooq.Result 进行单元测试

标签 java jooq

我正在编写单元测试,用于使用 JOOQ 库从 Oracle DB 获取记录,并且我需要模拟 DSLContext 返回的数据。的fetch()功能。如何创建示例 Result<Record>由模拟函数返回?我用谷歌搜索了几个小时,但找不到答案。

最佳答案

尝试使用JOOQ自己的mock API。这里有官方docs

您可能希望得到类似的结果:

final MockDataProvider myMockProvider = new MockDataProvider() {
    @Override
    public MockResult[] execute(final MockExecuteContext context) throws SQLException {
        final DSLContext context = DSL.using(SQLDialect.ORACLE);
        final Result<Record> resultRecord = context.newResult(YOUR_TABLE_HERE);

        // customize your record with needed fields

        resultRecord.add(context.newRecord(YOUR_TABLE_HERE));

        return new MockResult[] { new MockResult(1, resultRecord) };
    }
};

final DSLContext mockedDSL = DSL.using(new MockConnection(myMockProvider), SQLDialect.ORACLE);

// here you go with your tests

关于java - 如何构造 org.jooq.Result 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62073697/

相关文章:

java - Jooq 支持 Joda-Time 吗?

java - 如何在 Jooq 中将毫秒翻译为日期并按月和年分组?

java - Libgdx Scene2d 表和滚动 Pane 错误?

java - Eclipse 运行配置中的通配符扩展

java - jOOQ 的 limit..offset 问题 - 没有值集

java - jOOQ 和自动生成,如何避免表 POJO 中的 UDT 记录

java - 我想为 jOOQ 生成的类添加注释

java - Aspectj 切面指定多个包

java - 打印出一个 ASCII 圆和轴

java - Android java 设置图片资源