findAll не проверяется во время модульного тестирования, и поэтому ваш код не работает.Вам нужно вручную добавить макет для вызова перед запуском теста (mockFor может помочь вам в этом).Это применимо, если вы используете HQL или Критерии (которые я бы порекомендовал вместо чистого HQL).
В качестве альтернативы возможно, что вы можете решить свои проблемы с помощью динамических искателей.Динамические искатели и другие динамические методы ORM (save, get, count, ..) в большинстве случаев (?) Высмеиваются, когда вы вызываете mockDomain(Something)
в своем модульном тесте.Они также, как правило, проще в использовании, чем HQL (imho).
Обновление: Спасибо Флетчу за указание на то, что не все динамические искатели являются поддельными.Пример динамического искателя, который не будет смоделирован, таков: Something.findAllWhereSomeNumberInList([1, 2, 3])
.
HQL, который вы используете в своем коде, может быть переписан с использованием динамических искателей:
Something.findBySomeNumberLike(searchString)