Dans mon application Grails, je souhaite empêcher le chargement du plugin Searchable lors de l'exécution de mes tests unitaires. J'ai essayé de faire cela en utilisant le code suivant dans la classe BootstrapDésactiver le plugin Grails
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
}
}
Cependant, cela ne fonctionne pas parce que grailsApplication.getClassForName("SearchableGrailsPlugin")
renvoie Null, probablement parce que cette classe ne sont pas sur le chemin de classe lorsque ce code est exécuté. Y a-t-il un autre moyen de désactiver ce plugin?