Grails: есть ли способ найти findAll () без запроса, но с разбиением на страницы и сортировкой? - PullRequest
8 голосов
/ 21 сентября 2010

Как я заметил в ответах на другой вопрос , при тестировании методов поиска в GORM есть несколько проблем.
Я хочу получить все объекты из Something и иметь поддержку сортировки и разбивки на страницы, поэтому я написал это:

SomethingListVO findAllSomethings(int offset = 0, int limit = 50) {
    def somethingCount = Something.count()
    def somethings = Something.findAll([max: limit,
                                            offset:offset,
                                            sort: "number",
                                            order: "asc"])
    return new SomethingListVO(somethingCount,somethings)
}

Это не может работать, потому что, если вы хотите добавить что-то вроде разбивки на страницы или сортировки, вам нужен запрос. Но если вы добавите запрос типа SELECT * FROM Something, ваш тест не пройдёт.

Есть ли способ проверить этот метод (с разбивкой на страницы / сортировкой)?
Этот подход , кажется, предоставляет больше возможностей, но он не будет работать с моей установкой Grails.

1 Ответ

14 голосов
/ 21 сентября 2010

Просто сделайте это для вашего запроса

Something.list([max: limit,offset:offset,sort: "number",order: "asc"])
...