public abstract class AbstractMockMvcBuilder<B extends AbstractMockMvcBuilder<B>> extends MockMvcBuilderSupport implements MockMvcBuilder
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.
|
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)
Should the
DispatcherServlet dispatch OPTIONS request to controllers. |
protected abstract WebApplicationContext |
initWebAppContext()
A method to obtain the WebApplicationContext to be passed to the DispatcherServlet.
|
createMockMvc
public final <T extends B> T addFilters(Filter... filters)
mockMvcBuilder.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.
filters
- the filters to addpublic final <T extends B> T addFilter(Filter filter, String... urlPatterns)
mockMvcBuilder.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.
filter
- the filter to addurlPatterns
- URL patterns to map to; if empty, "/*" is used by defaultpublic final <T extends B> T defaultRequest(RequestBuilder requestBuilder)
Properties specified at the time of performing a request override the default properties defined here.
requestBuilder
- a RequestBuilder; see static factory methods in
MockMvcRequestBuilders
.public final <T extends B> T alwaysExpect(ResultMatcher resultMatcher)
"application/json"
, etc.resultMatcher
- a ResultMatcher; see static factory methods in
MockMvcResultMatchers
public final <T extends B> T alwaysDo(ResultHandler resultHandler)
System.out
.resultHandler
- a ResultHandler; see static factory methods in
MockMvcResultHandlers
public final <T extends B> T dispatchOptions(boolean dispatchOptions)
DispatcherServlet
dispatch OPTIONS request to controllers.dispatchOptions
- FrameworkServlet.setDispatchOptionsRequest(boolean)
public final MockMvc build()
MockMvc
instance.build
in interface MockMvcBuilder
protected abstract WebApplicationContext initWebAppContext()