2012-03-14 126 views
1

我创建了一个简单的grails 2.0.1插件,带有一个“User”域。创建脚手架控制器和视图。但是,当我做grails run-app并且转到用户/列表url时,我得到错误测试grails插件控制器本身

没有方法的签名:packagename.User.list()适用于参数类型:()values:[]可能的解决方案:list(),list(java.util.Map),is(java.lang.Object),wait(),lock(),find()

但是,当我在grails应用程序中使用插件出版,包装),它工作正常。

问题是 - 我想能够在没有应用程序的情况下测试grails插件控制器。我猜我缺少一些配置。

回答

3

看起来你没有安装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 
    } 
} 
+0

就是这样。谢谢Burt! – vasya10 2012-03-15 13:58:50