我正在使用jOOQ的MockDataProvider模拟对数据库的调用。我已经弄清楚了如何使用以下信息返回单个记录:https://blog.jooq.org/2013/02/20/easy-mocking-of-your-database/
但是,我想返回结果列表,而不仅仅是查询的单个记录。我该怎么办?
我可以使用以下命令(来自上面的链接)返回单个结果:
return new MockResult[] {
new MockResult(1, result)
};
但是,我无法弄清楚如何添加多个结果,MockResult的所有构造函数都只取一个结果。有什么提示吗?我缺少明显的东西吗?
例如,如果我查询所有公路自行车:
SELECT * FROM bicycles WHERE type = "road";
如何返回10辆自行车的清单,而不是一个?
答案 0 :(得分:1)
我可以使用以下内容(来自上面的链接)返回单个结果
但是已经足够了。您返回带有多个记录的单个结果。您传递给MockResult
构造函数的结果看起来像这样:
var result = ctx.newResult(BICYCLES.COL1, BICYCLES.COL2);
result.add(ctx.newRecord(BICYCLES.COL1, BICYCLES.COL2).values(1, 2));
result.add(ctx.newRecord(BICYCLES.COL1, BICYCLES.COL2).values(3, 4));
...