Метод findAll (String, Map, Map) отсутствует в интеграционном тесте - PullRequest
2 голосов
/ 20 июля 2011

Я использую метод GORM findAll ("query", [params], [pagination]) согласно документации: http://grails.org/doc/latest/ref/Domain%20Classes/findAll.html

Он отлично работает во время выполнения, но это не такдоступно во время интеграционных испытаний .Похоже, что доступны только методы findAll ('query', [params]) и findAll ('query') .

БОЛЬШЕ ДЕТАЛЕЙ:

Запрос:

MyDomain.findAll("From MyDomain as domain Where domain.something = :something", [something:aThing], [max:10])

Настройка теста:

Я выполняю этот метод с помощью теста интеграции (в разделе тест / интеграция , имой тестовый класс расширяется GroovyTestCase )

Среда: я использую grails 1.3.7, mac osx

StackTrace:

Я получаю следующую ошибку:Нет подписи метода: abcdeMyDomain.findAll () применим для типов аргументов: (java.lang.String, java.util.LinkedHashMap, java.util.LinkedHashMap) Возможные решения: findAll (), findAll (java.lang.Object), findAll (java.lang.Object, java.util.Map), findAll (groovy.lang.Closure).

Воспроизвести его:

class MyTestClass extends GroovyTestCase{

void testFindAllFailsWithThreeParameters(){

  Domain.findAll('From Domain as domain where domain.property = :value', [value:value],[max:10])

 }
}

Заранее благодарим за помощь,

Винсент

1 Ответ

0 голосов
/ 21 июля 2011

Используете ли вы один и тот же источник данных для тестовой среды и время выполнения?

Если не используемый вами метод данных может не поддерживаться этим источником данных, например повторное тестирование базы данных в памяти по сравнению с MySQL для производства.

...