自行测试grails插件控制器



我创建了一个带有域"User"的简单grails 2.0.1插件。创建了脚手架控制器和视图。但当我运行grails应用程序并转到用户/列表url时,我会得到错误

没有方法的签名:packagename。User.list()适用于参数类型:()值:[]可能的解决方案: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,除非您的插件确实需要Hibernate才能正常工作。如果它能与任何GORM实现(例如Mongo)一起工作,那么它就不应该被导出:

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

最新更新