diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc index 53acfcf7647..3275bbdcc5a 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc @@ -5639,11 +5639,15 @@ Alternatively, you can configure a {spring-framework-docs}testing.html#webtestcl include::{code-examples}/test/web/MockWebTestClientExampleTests.java[tag=test-mock-web-test-client] ---- -Testing within a mocked environment enables fast runs as it does not require the cost of setting up a full Servlet container. -Although this works fine in most cases, you cannot test situations where the servlet container takes precedence. -For example, Spring Boot's error handling is based on Servlet container’s error mappings. -Therefore, exceptions behave differently in the container-less mock environment than the real environment. -If you need to test the precise format of the error response, test with a fully running server as follows. +[TIP] +==== +Testing within a mocked environment is usually faster than running with a full Servlet container. +However, since mocking occurs at the Spring MVC layer, code that relies on on lower level Servlet concerns cannot be directly tested with MockMvc. + +For example, Spring Boot's error handling is based on the "`error page`" support provided by the Servlet container. +This means that, whilst you can test your MVC layer throws and handles exceptions as expected, you cannot directly test that a specific <<#boot-features-error-handling-custom-error-pages, custom error page>> is rendered. +If you need to tests these lower-level concerns, you can start a fully running server as described in the next section. +====