Nella mia app Grails, voglio impedire il caricamento del plug-in ricercabile durante l'esecuzione dei miei test unitari. Ho provato a fare questo utilizzando il seguente codice nella classe BootstrapDisabilita plug-in 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
}
}
Tuttavia, questo non funziona perché grailsApplication.getClassForName("SearchableGrailsPlugin")
restituisce NULL, presumibilmente perché questa classe non è sul classpath quando questo codice viene eseguito. C'è un altro modo in cui posso disabilitare questo plugin?