Я бы не пошел по этому пути.Вместо этого я бы переместил запрос в класс домена как статический метод поиска и протестировал бы его непосредственно в интеграционном тесте с реальными данными.Затем вы можете легко смоделировать вспомогательный метод, когда он вызывается в контроллере или тесте службы.
class YourDomainClass {
...
static List<YourDomainClass> findFooBar() {
YourDomainClass.withCriteria {
...
}
}
}
Затем в модульном тесте:
def results = [instance1, instance2, instance3]
YourDomainClass.metaClass.static.findFooBar = { -> results }
Таким образом, вы проверяете, что запрос работаетс базой данных в памяти в интеграционном тесте, но ее легко смоделировать в модульных тестах.