Самостоятельное тестирование контроллеров Grails - PullRequest
1 голос
/ 14 марта 2012

Я создал простой плагин Grails 2.0.1 с доменом «Пользователь». Созданы строительные леса контроллеров и видов. Но когда я запускаю grails run-app и захожу на URL пользователя / списка, я получаю сообщение об ошибке

Нет подписи метода: packagename.User.list () применим для типов аргументов: () значения: [] Возможные решения: list (), list (java.util.Map), is (java.lang.Object ), wait (), lock (), find ()

Но когда я использую плагин в приложении Grails (без публикации, упаковки), он работает нормально.

Вопрос в том, что я хочу иметь возможность протестировать контроллер плагинов Grails без приложения. Я предполагаю, что мне не хватает какой-то конфигурации.

1 Ответ

3 голосов
/ 15 марта 2012

Похоже, у вас не установлен плагин Hibernate.Он добавляется в BuildConfig.groovy по умолчанию для приложений, но не для плагинов.Вы можете установить его с помощью grails install-plugin hibernate 2.0.1, и он добавит его к application.properties, и этот подход избавит его от зависимости, когда пользователи установят ваш плагин.

Вы также можете добавить его к BuildConfig.groovy, нообязательно добавьте export = false, если ваш плагин действительно не требует Hibernate для работы.Если он будет работать с любой реализацией GORM (например, Mongo), его нельзя экспортировать:

plugins {
    build(":tomcat:$grailsVersion",
          ":hibernate:$grailsVersion",
          ":release:1.0.1") {
        export = false
    }
}
...