diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcFilterDecorator.java b/spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcFilterDecorator.java index aaa7f4e4fbb..f20dfa4058c 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcFilterDecorator.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcFilterDecorator.java @@ -111,19 +111,18 @@ final class MockMvcFilterDecorator implements Filter { String className = delegate.getClass().getName(); return servletContext -> { - MockServletContext mockServletContext = (MockServletContext) servletContext; - MockFilterConfig filterConfig; - if (filterName != null) { - filterConfig = new MockFilterConfig(servletContext, filterName); - mockServletContext.addFilterRegistration(new MockFilterRegistration(className, filterName)); - } - else { - filterConfig = new MockFilterConfig(servletContext); - mockServletContext.addFilterRegistration(new MockFilterRegistration(className)); - } + MockFilterConfig filterConfig = (filterName != null ? + new MockFilterConfig(servletContext, filterName) : new MockFilterConfig(servletContext)); + if (initParams != null) { initParams.forEach(filterConfig::addInitParameter); } + + if (servletContext instanceof MockServletContext mockServletContext) { + mockServletContext.addFilterRegistration(filterName != null ? + new MockFilterRegistration(className, filterName) : new MockFilterRegistration(className)); + } + return filterConfig; }; }