diff --git a/grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api/ControllersApi.java b/grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api/ControllersApi.java index 4aba9725226..1dffddc4355 100644 --- a/grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api/ControllersApi.java +++ b/grails-plugin-controllers/src/main/groovy/org/codehaus/groovy/grails/plugins/web/api/ControllersApi.java @@ -116,8 +116,9 @@ public static void initialize(Object instance) { if (Environment.getCurrent() == Environment.TEST) { GrailsWebRequest webRequest = GrailsWebRequest.lookup(); if (webRequest != null) { - webRequest.setControllerName(GrailsNameUtils.getLogicalPropertyName( - instance.getClass().getName(), ControllerArtefactHandler.TYPE)); + // GRAILS-10929 - If the class name ends with $$..., then it's a proxy and we want to remove that from the name + String className = instance.getClass().getName().replaceAll("\\$\\$.*$", ""); + webRequest.setControllerName(GrailsNameUtils.getLogicalPropertyName(className, ControllerArtefactHandler.TYPE)); } } }