Самостоятельное тестирование контроллеров плагинов grails
-
14-12-2019 - |
Вопрос
Я создал простой плагин grails 2.0.1 с доменом "User".Созданы контроллеры строительных лесов и представления.Но когда я запускаю grails-app и перехожу к URL-адресу пользователя / списка, я получаю сообщение об ошибке
Нет подписи метода:функция packagename.User.list() применима для типов аргументов:() значения:[] Возможные решения:список(), list(java.util.Map), is(java.lang.Object), wait(), lock(), find()
Но когда я использую плагин в приложении grails (без публикации, упаковки), он работает нормально.
Вопрос в том, что я хочу иметь возможность тестировать контроллер плагина grails без приложения.Я предполагаю, что мне не хватает какой-то настройки.
Решение
Похоже, у вас не установлен плагин Hibernate.Это добавлено к BuildConfig.groovy
по умолчанию для приложений, но не для плагинов.Вы можете установить его с помощью grails install-plugin hibernate 2.0.1
и это добавит его к application.properties
, и такой подход избавляет его от зависимости, когда пользователи устанавливают ваш плагин.
Вы также можете добавить его в BuildConfig.groovy
но обязательно добавьте export = false
если только вашему плагину на самом деле не требуется режим гибернации для работы.Если бы это работало с любой реализацией GORM (напримерMongo), то его не следует экспортировать:
plugins {
build(":tomcat:$grailsVersion",
":hibernate:$grailsVersion",
":release:1.0.1") {
export = false
}
}