Как вернуть список результатов в jOOQ Mocked Data - PullRequest
1 голос
/ 06 июня 2019

Я использую MockDataProvider от jOOQ для имитации вызовов в базу данных. Я выяснил, как вернуть одну запись, используя информацию здесь: 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 велосипедов вместо одного?

1 Ответ

1 голос
/ 07 июня 2019

Я могу использовать следующее (из приведенной выше ссылки), чтобы вернуть один результат

Но это уже так. Вы возвращаете один результат с несколькими записями. Результат, который вы передаете этому конструктору 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));
...
...