public class MockMvcBuilders extends Object
MockMvcBuilder
s.
Consider adding this class as a Java editor favorite. To navigate to this setting, open the Preferences and type "favorites".
webAppContextSetup(WebApplicationContext)
,
standaloneSetup(Object...)
Constructor and Description |
---|
MockMvcBuilders() |
Modifier and Type | Method and Description |
---|---|
static StandaloneMockMvcBuilder |
standaloneSetup(Object... controllers)
Build a
MockMvc instance by registering one or more
@Controller instances and configuring Spring MVC infrastructure
programmatically. |
static DefaultMockMvcBuilder |
webAppContextSetup(WebApplicationContext context)
Build a
MockMvc instance using the given, fully initialized
(i.e., refreshed) WebApplicationContext . |
public static DefaultMockMvcBuilder webAppContextSetup(WebApplicationContext context)
MockMvc
instance using the given, fully initialized
(i.e., refreshed) WebApplicationContext
.
The DispatcherServlet
will use the context to discover Spring MVC infrastructure and application
controllers in it. The context must have been configured with a
ServletContext
.
public static StandaloneMockMvcBuilder standaloneSetup(Object... controllers)
MockMvc
instance by registering one or more
@Controller
instances and configuring Spring MVC infrastructure
programmatically.
This allows full control over the instantiation and initialization of controllers and their dependencies, similar to plain unit tests while also making it possible to test one controller at a time.
When this builder is used, the minimum infrastructure required by the
DispatcherServlet
to serve requests with annotated controllers is created automatically
and can be customized, resulting in configuration that is equivalent to
what MVC Java configuration provides except using builder-style methods.
If the Spring MVC configuration of an application is relatively straight-forward — for example, when using the MVC namespace in XML or MVC Java config — then using this builder might be a good option for testing a majority of controllers. In such cases, a much smaller number of tests can be used to focus on testing and verifying the actual Spring MVC configuration.
controllers
- one or more @Controller
instances to test