public class StandaloneMockMvcBuilder extends DefaultMockMvcBuilder<StandaloneMockMvcBuilder>
@Controller
registrations thus allowing
full control over the instantiation and the initialization of controllers and
their dependencies similar to plain unit tests, and also making it possible
to test one controller at a time.
This builder creates the minimum infrastructure required by the
DispatcherServlet
to serve requests with annotated controllers and
also provides methods to customize it. The resulting configuration and
customizations possible are equivalent to using the MVC Java config except
using builder style methods.
To configure view resolution, either select a "fixed" view to use for every
performed request (see setSingleView(View)
) or provide a list of
ViewResolver
's, see setViewResolvers(ViewResolver...)
.
Modifier and Type | Class and Description |
---|---|
private class |
StandaloneMockMvcBuilder.StandaloneConfiguration
Using the MVC Java configuration as the starting point for the "standalone" setup
|
private static class |
StandaloneMockMvcBuilder.StaticRequestMappingHandlerMapping
A
RequestMappingHandlerMapping that allows registration of controllers |
private static class |
StandaloneMockMvcBuilder.StaticViewResolver
A
ViewResolver that always returns same View |
Modifier and Type | Field and Description |
---|---|
private java.lang.Long |
asyncRequestTimeout |
private ContentNegotiationManager |
contentNegotiationManager |
private java.lang.Object[] |
controllers |
private FormattingConversionService |
conversionService |
private java.util.List<HandlerMethodArgumentResolver> |
customArgumentResolvers |
private java.util.List<HandlerMethodReturnValueHandler> |
customReturnValueHandlers |
private FlashMapManager |
flashMapManager |
private java.util.List<HandlerExceptionResolver> |
handlerExceptionResolvers |
private LocaleResolver |
localeResolver |
private java.util.List<MappedInterceptor> |
mappedInterceptors |
private java.util.List<HttpMessageConverter<?>> |
messageConverters |
private boolean |
useSuffixPatternMatch |
private boolean |
useTrailingSlashPatternMatch |
private Validator |
validator |
private java.util.List<ViewResolver> |
viewResolvers |
Modifier | Constructor and Description |
---|---|
protected |
StandaloneMockMvcBuilder(java.lang.Object... controllers)
Protected constructor.
|
Modifier and Type | Method and Description |
---|---|
StandaloneMockMvcBuilder |
addInterceptors(HandlerInterceptor... interceptors)
Add interceptors mapped to all incoming requests.
|
StandaloneMockMvcBuilder |
addMappedInterceptors(java.lang.String[] pathPatterns,
HandlerInterceptor... interceptors)
Add interceptors mapped to a set of path patterns.
|
private java.util.List<ViewResolver> |
initViewResolvers(WebApplicationContext wac) |
protected void |
initWebAppContext(WebApplicationContext cxt)
Invoked from
DefaultMockMvcBuilder.build() before the MockMvc instance is created. |
private void |
registerMvcSingletons(StubWebApplicationContext cxt) |
StandaloneMockMvcBuilder |
setAsyncRequestTimeout(long timeout)
Specify the timeout value for async execution.
|
protected StandaloneMockMvcBuilder |
setContentNegotiationManager(ContentNegotiationManager contentNegotiationManager)
Set a ContentNegotiationManager.
|
StandaloneMockMvcBuilder |
setConversionService(FormattingConversionService conversionService)
Provide a conversion service with custom formatters and converters.
|
StandaloneMockMvcBuilder |
setCustomArgumentResolvers(HandlerMethodArgumentResolver... argumentResolvers)
Provide custom resolvers for controller method arguments.
|
StandaloneMockMvcBuilder |
setCustomReturnValueHandlers(HandlerMethodReturnValueHandler... handlers)
Provide custom handlers for controller method return values.
|
StandaloneMockMvcBuilder |
setFlashMapManager(FlashMapManager flashMapManager)
Provide a custom FlashMapManager instance.
|
StandaloneMockMvcBuilder |
setHandlerExceptionResolvers(HandlerExceptionResolver... exceptionResolvers)
Set the HandlerExceptionResolver types to use as an array.
|
StandaloneMockMvcBuilder |
setHandlerExceptionResolvers(java.util.List<HandlerExceptionResolver> exceptionResolvers)
Set the HandlerExceptionResolver types to use as a list.
|
StandaloneMockMvcBuilder |
setLocaleResolver(LocaleResolver localeResolver)
Provide a LocaleResolver instance.
|
StandaloneMockMvcBuilder |
setMessageConverters(HttpMessageConverter<?>... messageConverters)
Set the message converters to use in argument resolvers and in return value
handlers, which support reading and/or writing to the body of the request
and response.
|
StandaloneMockMvcBuilder |
setSingleView(View view)
Sets up a single
ViewResolver that always returns the provided
view instance. |
StandaloneMockMvcBuilder |
setUseSuffixPatternMatch(boolean useSuffixPatternMatch)
Whether to use suffix pattern match (".*") when matching patterns to
requests.
|
StandaloneMockMvcBuilder |
setUseTrailingSlashPatternMatch(boolean useTrailingSlashPatternMatch)
Whether to match to URLs irrespective of the presence of a trailing slash.
|
StandaloneMockMvcBuilder |
setValidator(Validator validator)
Provide a custom
Validator instead of the one created by default. |
StandaloneMockMvcBuilder |
setViewResolvers(ViewResolver... resolvers)
Set up view resolution with the given
ViewResolver s. |
addFilter, addFilters, alwaysDo, alwaysExpect, build, defaultRequest, dispatchOptions
createMockMvc
private final java.lang.Object[] controllers
private java.util.List<HttpMessageConverter<?>> messageConverters
private java.util.List<HandlerMethodArgumentResolver> customArgumentResolvers
private java.util.List<HandlerMethodReturnValueHandler> customReturnValueHandlers
private final java.util.List<MappedInterceptor> mappedInterceptors
private Validator validator
private ContentNegotiationManager contentNegotiationManager
private FormattingConversionService conversionService
private java.util.List<HandlerExceptionResolver> handlerExceptionResolvers
private java.lang.Long asyncRequestTimeout
private java.util.List<ViewResolver> viewResolvers
private LocaleResolver localeResolver
private FlashMapManager flashMapManager
private boolean useSuffixPatternMatch
private boolean useTrailingSlashPatternMatch
protected StandaloneMockMvcBuilder(java.lang.Object... controllers)
public StandaloneMockMvcBuilder setMessageConverters(HttpMessageConverter<?>... messageConverters)
public StandaloneMockMvcBuilder setValidator(Validator validator)
Validator
instead of the one created by default.
The default implementation used, assuming JSR-303 is on the classpath, is
LocalValidatorFactoryBean
.public StandaloneMockMvcBuilder setConversionService(FormattingConversionService conversionService)
DefaultFormattingConversionService
is used by default.public StandaloneMockMvcBuilder addInterceptors(HandlerInterceptor... interceptors)
public StandaloneMockMvcBuilder addMappedInterceptors(java.lang.String[] pathPatterns, HandlerInterceptor... interceptors)
protected StandaloneMockMvcBuilder setContentNegotiationManager(ContentNegotiationManager contentNegotiationManager)
public StandaloneMockMvcBuilder setAsyncRequestTimeout(long timeout)
timeout
- the timeout value in millisecondspublic StandaloneMockMvcBuilder setCustomArgumentResolvers(HandlerMethodArgumentResolver... argumentResolvers)
public StandaloneMockMvcBuilder setCustomReturnValueHandlers(HandlerMethodReturnValueHandler... handlers)
public StandaloneMockMvcBuilder setHandlerExceptionResolvers(java.util.List<HandlerExceptionResolver> exceptionResolvers)
public StandaloneMockMvcBuilder setHandlerExceptionResolvers(HandlerExceptionResolver... exceptionResolvers)
public StandaloneMockMvcBuilder setViewResolvers(ViewResolver... resolvers)
ViewResolver
s.
If not set, an InternalResourceViewResolver
is used by default.public StandaloneMockMvcBuilder setSingleView(View view)
ViewResolver
that always returns the provided
view instance. This is a convenient shortcut if you need to use one
View instance only -- e.g. rendering generated content (JSON, XML, Atom).public StandaloneMockMvcBuilder setLocaleResolver(LocaleResolver localeResolver)
AcceptHeaderLocaleResolver
.public StandaloneMockMvcBuilder setFlashMapManager(FlashMapManager flashMapManager)
SessionFlashMapManager
is used by default.public StandaloneMockMvcBuilder setUseSuffixPatternMatch(boolean useSuffixPatternMatch)
The default value is true
.
public StandaloneMockMvcBuilder setUseTrailingSlashPatternMatch(boolean useTrailingSlashPatternMatch)
The default value is true
.
protected void initWebAppContext(WebApplicationContext cxt)
DefaultMockMvcBuilder
DefaultMockMvcBuilder.build()
before the MockMvc
instance is created.
Allows sub-classes to further initialize the WebApplicationContext
and the javax.servlet.ServletContext
it contains.initWebAppContext
in class DefaultMockMvcBuilder<StandaloneMockMvcBuilder>
private void registerMvcSingletons(StubWebApplicationContext cxt)
private java.util.List<ViewResolver> initViewResolvers(WebApplicationContext wac)