Introduce AbstractMockMvcBuilder class
This change splits out an abstract base class from DefaultMockMvcBuilder with StandaloneMockMvcBuilder switching to extend the new abstract class (rather than DefaultMockMvcBuilder). Issue: SPR-11238
This commit is contained in:
@@ -35,7 +35,7 @@ import org.springframework.web.filter.OncePerRequestFilter;
|
||||
*/
|
||||
public class DefaultMockMvcBuilderTests {
|
||||
|
||||
private DefaultMockMvcBuilder<?> builder;
|
||||
private StandaloneMockMvcBuilder builder;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.springframework.mock.web.test.MockHttpServletRequest;
|
||||
import org.springframework.mock.web.test.MockServletContext;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.context.WebApplicationContext;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
import org.springframework.web.servlet.HandlerExecutionChain;
|
||||
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
|
||||
@@ -38,12 +39,11 @@ public class StandaloneMockMvcBuilderTests {
|
||||
@Test
|
||||
public void placeHoldersInRequestMapping() throws Exception {
|
||||
|
||||
StubWebApplicationContext cxt = new StubWebApplicationContext(new MockServletContext());
|
||||
StandaloneMockMvcBuilder builder = new StandaloneMockMvcBuilder(new PlaceholderController());
|
||||
TestStandaloneMockMvcBuilder builder = new TestStandaloneMockMvcBuilder(new PlaceholderController());
|
||||
builder.addPlaceHolderValue("sys.login.ajax", "/foo");
|
||||
builder.initWebAppContext(cxt);
|
||||
builder.build();
|
||||
|
||||
RequestMappingHandlerMapping hm = cxt.getBean(RequestMappingHandlerMapping.class);
|
||||
RequestMappingHandlerMapping hm = builder.wac.getBean(RequestMappingHandlerMapping.class);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/foo");
|
||||
HandlerExecutionChain chain = hm.getHandler(request);
|
||||
@@ -60,4 +60,19 @@ public class StandaloneMockMvcBuilderTests {
|
||||
private void handleWithPlaceholders() { }
|
||||
}
|
||||
|
||||
|
||||
private static class TestStandaloneMockMvcBuilder extends StandaloneMockMvcBuilder {
|
||||
|
||||
private WebApplicationContext wac;
|
||||
|
||||
private TestStandaloneMockMvcBuilder(Object... controllers) {
|
||||
super(controllers);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected WebApplicationContext initWebAppContext() {
|
||||
this.wac = super.initWebAppContext();
|
||||
return this.wac;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user