2017-10-11 04:12:12 +08:00
|
|
|
[[testing]]
|
|
|
|
= Testing
|
2017-11-29 21:44:53 +08:00
|
|
|
[.small]#<<web-reactive.adoc#webflux-test,Same in Spring WebFlux>>#
|
2017-10-11 04:12:12 +08:00
|
|
|
|
2017-10-19 02:24:17 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-11 04:12:12 +08:00
|
|
|
[[testing-servlet-mocks]]
|
|
|
|
== Servlet API Mocks
|
2017-10-19 02:24:17 +08:00
|
|
|
|
2017-10-11 04:12:12 +08:00
|
|
|
`spring-test` provides mock implementations of Servlet API contracts for unit testing
|
|
|
|
controllers, filters, and other web components.
|
|
|
|
See <<testing.adoc#mock-objects-servlet,Servlet API>> mock objects for more details.
|
|
|
|
|
|
|
|
|
2017-10-19 02:24:17 +08:00
|
|
|
|
|
|
|
|
2017-10-11 04:12:12 +08:00
|
|
|
[[testing-testcontext]]
|
|
|
|
== TestContext Framework
|
|
|
|
|
|
|
|
`spring-test` provides 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 <<testing.adoc#testcontext-framework,TestContext Framework>> for more details.
|
|
|
|
|
|
|
|
|
2017-10-19 02:24:17 +08:00
|
|
|
|
|
|
|
|
2017-10-11 04:12:12 +08:00
|
|
|
[[testing-mockmvc]]
|
2017-11-29 21:44:53 +08:00
|
|
|
== Spring MVC Test (MockMvc)
|
2017-10-11 04:12:12 +08:00
|
|
|
|
2017-11-29 21:44:53 +08:00
|
|
|
`spring-test` provides a framework for testing annotated controllers through the
|
|
|
|
`DispatcherServlet`, i.e. supporting annotations and complete with Spring MVC
|
|
|
|
infrastructure, but without an HTTP server.
|
|
|
|
See <<testing.adoc#spring-mvc-test-framework,Spring MVC Test>> for more details.
|
2017-10-11 04:12:12 +08:00
|
|
|
|
|
|
|
|
2017-10-19 02:24:17 +08:00
|
|
|
|
|
|
|
|
2017-10-11 04:12:12 +08:00
|
|
|
[[testing-resttemplate]]
|
|
|
|
== 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 <<testing.adoc#spring-mvc-test-client,Client REST Tests>> for more details.
|
2017-11-29 21:44:53 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[[testing-webtestclient]]
|
|
|
|
== WebTestClient
|
|
|
|
|
|
|
|
`spring-test` provides a dedicated `WebTestClient` for end-to-end integration testing.
|
|
|
|
`WebTestClient` can connect to any server over an HTTP connection. It is non-blocking,
|
|
|
|
reactive client and well suited for testing asynchronous and streaming scenarios.
|