Самостоятельное тестирование контроллеров плагинов grails

StackOverflow https://stackoverflow.com//questions/9709000

Вопрос

Я создал простой плагин 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
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top