Единичные испытания в грабли выполняются без установки среды. Нет базы данных; объекты и gorm издеваются, и вам нужно сделать определенные вещи для настройки объектов домена для тестирования. И вы не можете делать такие вещи, как тестовые запросы на основе hql (я думаю, что эта функция может появиться в более новых версиях grails)
Интеграционные тесты полностью разные. Вы запускаете код начальной загрузки, и все вызовы db переходят в фактическую рабочую базу данных (которую вы можете настроить в источниках данных, если хотите, чтобы они были разными). Если вы вызовете метод обслуживания из теста интеграции, он перейдет к db, транзакциям и всему остальному. Кроме того, запускается этап вставки австралийских/зависимых компонентов Spring, поэтому все ваши услуги полностью подключены и готовы к работе.
Это общая схема, не видя тестов и сбоев, трудно сказать, что не так.
Jeff, если случайно те тесты, которые не выполняются при запуске grails test-app, используют свойства класса GrailsConfig? – Maricel
Не то, чтобы я вижу прямо. –
У меня была такая же проблема с интеграционными тестами при использовании GrailsConfig, это похоже на то, что модуль тестирует очистку объекта, а интеграционные не перезагружают его снова, прежде чем запускать, так что я сделал, чтобы использовать значения по умолчанию и что " починил это. – Maricel