public abstract class AbstractMockMvcBuilder<B extends AbstractMockMvcBuilder<B>> extends MockMvcBuilderSupport implements ConfigurableMockMvcBuilder<B>
MockMvcBuilder
with common methods for configuring filters, default request properties, global
expectations and global result actions.
Sub-classes can use different strategies to prepare a WebApplicationContext to pass to the DispatcherServlet.
| Constructor and Description |
|---|
AbstractMockMvcBuilder() |
| Modifier and Type | Method and Description |
|---|---|
<T extends B> |
addFilter(Filter filter,
String... urlPatterns)
Add a filter mapped to a specific set of patterns.
|
<T extends B> |
addFilters(Filter... filters)
Add filters mapped to any request (i.e.
|
<T extends B> |
alwaysDo(ResultHandler resultHandler)
Define a global action that should always be applied to every
response.
|
<T extends B> |
alwaysExpect(ResultMatcher resultMatcher)
Define a global expectation that should always be applied to
every response.
|
<T extends B> |
apply(MockMvcConfigurer configurer)
Add a
MockMvcConfigurer that automates MockMvc setup and
configures it for some specific purpose (e.g. |
MockMvc |
build()
Build a
MockMvc instance. |
<T extends B> |
defaultRequest(RequestBuilder requestBuilder)
Define default request properties that should be merged into all
performed requests.
|
<T extends B> |
dispatchOptions(boolean dispatchOptions)
Whether to enable the DispatcherServlet property
dispatchOptionsRequest which allows processing of HTTP OPTIONS requests. |
protected abstract org.springframework.web.context.WebApplicationContext |
initWebAppContext()
A method to obtain the WebApplicationContext to be passed to the DispatcherServlet.
|
createMockMvcpublic final <T extends B> T addFilters(Filter... filters)
ConfigurableMockMvcBuildermockMvcBuilder.addFilters(springSecurityFilterChain);
is the equivalent of the following web.xml configuration:
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Filters will be invoked in the order in which they are provided.
addFilters in interface ConfigurableMockMvcBuilder<B extends AbstractMockMvcBuilder<B>>filters - the filters to addpublic final <T extends B> T addFilter(Filter filter, String... urlPatterns)
ConfigurableMockMvcBuildermockMvcBuilder.addFilters(myResourceFilter, "/resources/*");
is the equivalent of:
<filter-mapping>
<filter-name>myResourceFilter</filter-name>
<url-pattern>/resources/*</url-pattern>
</filter-mapping>
Filters will be invoked in the order in which they are provided.
addFilter in interface ConfigurableMockMvcBuilder<B extends AbstractMockMvcBuilder<B>>filter - the filter to addurlPatterns - URL patterns to map to; if empty, "/*" is used by defaultpublic final <T extends B> T defaultRequest(RequestBuilder requestBuilder)
ConfigurableMockMvcBuilderProperties specified at the time of performing a request override the default properties defined here.
defaultRequest in interface ConfigurableMockMvcBuilder<B extends AbstractMockMvcBuilder<B>>requestBuilder - a RequestBuilder; see static factory methods in
MockMvcRequestBuilders
.public final <T extends B> T alwaysExpect(ResultMatcher resultMatcher)
ConfigurableMockMvcBuilder"application/json", etc.alwaysExpect in interface ConfigurableMockMvcBuilder<B extends AbstractMockMvcBuilder<B>>resultMatcher - a ResultMatcher; see static factory methods in
MockMvcResultMatcherspublic final <T extends B> T alwaysDo(ResultHandler resultHandler)
ConfigurableMockMvcBuilderSystem.out.alwaysDo in interface ConfigurableMockMvcBuilder<B extends AbstractMockMvcBuilder<B>>resultHandler - a ResultHandler; see static factory methods in
MockMvcResultHandlerspublic final <T extends B> T dispatchOptions(boolean dispatchOptions)
ConfigurableMockMvcBuilderdispatchOptionsRequest which allows processing of HTTP OPTIONS requests.dispatchOptions in interface ConfigurableMockMvcBuilder<B extends AbstractMockMvcBuilder<B>>public final <T extends B> T apply(MockMvcConfigurer configurer)
ConfigurableMockMvcBuilderMockMvcConfigurer that automates MockMvc setup and
configures it for some specific purpose (e.g. security).apply in interface ConfigurableMockMvcBuilder<B extends AbstractMockMvcBuilder<B>>public final MockMvc build()
MockMvc instance.build in interface MockMvcBuilderprotected abstract org.springframework.web.context.WebApplicationContext initWebAppContext()