当前位置:  开发笔记 > 前端 > 正文

禁用Grails插件

如何解决《禁用Grails插件》经验,为你挑选了1个好方法。

在我的Grails应用程序中,我想在运行单元测试时阻止加载Searchable插件.我尝试使用Bootstrap类中的以下代码执行此操作

def grailsApplication

def init = {servletContext ->
    def currentEnv = grails.util.Environment.current.name

    if (currentEnv == 'test') {

        def doNothing = {println "Searchable is disabled"}

        // This returns null!
        def searchablePluginClass = grailsApplication.getClassForName("SearchableGrailsPlugin")

        searchablePluginClass.metaClass.doWithDynamicMethods = doNothing 
        searchablePluginClass.metaClass.doWithSpring = doNothing 
        searchablePluginClass.metaClass.doWithApplicationContext = doNothing 
    }
}

但是这不起作用,因为grailsApplication.getClassForName("SearchableGrailsPlugin")返回null,可能是因为此代码运行时此类不在类路径上.有没有其他方法可以禁用此插件?



1> Dónal..:

我找到了解决方案.将以下内容添加到Config.groovy:

environments {
    test {
        plugin {
            excludes = "searchable"
        }
    }
}

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有