This section summarizes the options available in spring-test
for Spring MVC applications.
Servlet API Mocks
Mock implementations of Servlet API contracts for unit testing controllers, filters, and other web components. See Servlet API mock objects for more details.
TestContext Framework
Support for loading Spring configuration in JUnit and TestNG tests including efficient
caching of the loaded configuration across test methods and support for loading a
WebApplicationContext
with a MockServletContext
.
See TestContext Framework for more details.
Spring MVC Test
A framework, also known as MockMvc
, for testing annotated controllers through the
DispatcherServlet
, i.e. supporting annotations and complete with Spring MVC
infrastructure, but without an HTTP server. See
Spring MVC Test for more details.
Client-side REST
spring-test
provides a MockRestServiceServer
that can be used as a mock server for
testing client-side code that internally uses the RestTemplate
.
See Client REST Tests for more details.
WebTestClient
WebTestClient
was built for testing WebFlux applications but it can also be used for
end-to-end integration testing, to any server, over an HTTP connection. It is a
non-blocking, reactive client and well suited for testing asynchronous and streaming
scenarios.