Grails Разница в тесте-приложении Grails против интеграции-тесте Grails-app - PullRequest
1 голос
/ 16 мая 2011

В чем разница на этапе интеграции запуска тестов Grails с помощью Grails test-app и grails test-app -integration

У меня есть набор тестов, которые будут проходить под одним, но не под другим, но я не могу найти то, что отличается на этапе интеграции, основываясь на двух способах его вызова.

Ответы [ 2 ]

3 голосов
/ 16 мая 2011

модульные тесты в граалях выполняются без настройки среды.Там нет базы данных;Объекты и Gorm насмехаются, и вам нужно сделать определенные вещи, чтобы настроить доменные объекты для тестирования.И вы не можете делать такие вещи, как тестирование запросов на основе hql (я думаю, что функция может появиться в более новых версиях Grails)

Интеграционные тесты полностью отличаются.Загрузочный код запускается, и все вызовы БД поступают в реально работающую базу данных (которую вы можете настроить в источниках данных, если хотите, чтобы она отличалась).Если вы вызываете сервисный метод из интеграционного теста, он перейдет в базу данных с транзакциями и всем остальным.Кроме того, выполняется шаг автоматического подключения / внедрения зависимостей bean-компонента Spring, поэтому все ваши службы полностью подключены и готовы к работе.

Это общий план, не видя тестов и сбоев, трудно сказать, что не так.

2 голосов
/ 01 сентября 2011

У меня была похожая проблема.Я не уверен почему, но порядок интеграционных тестов был другим.Это приводит к ошибке во время setUp / tearDown.В основном один tearDown имел некоторые проблемы и не удалял все объекты, которые были созданы в setUp.Это приводит к ошибке в следующем тесте.

Стоит проверить.

...