Browse Source

Clarify that @AutoConfigureWebTestClient uses mock infrastructure

Closes gh-29890
pull/38228/head
Andy Wilkinson 2 years ago
parent
commit
f78dcac56f
  1. 2
      spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/testing.adoc
  2. 9
      spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/reactive/AutoConfigureWebTestClient.java

2
spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/testing.adoc

@ -200,7 +200,7 @@ For convenience, tests that need to make REST calls to the started server can ad @@ -200,7 +200,7 @@ For convenience, tests that need to make REST calls to the started server can ad
include::code:MyRandomPortWebTestClientTests[]
TIP: `WebTestClient` can be used against both live servers and <<features#features.testing.spring-boot-applications.with-mock-environment, mock environments>>.
TIP: `WebTestClient` can also used with a <<features#features.testing.spring-boot-applications.with-mock-environment, mock environment>>, removing the need for a running server, by annotating your test class with `@AutoConfigureWebTestClient`.
This setup requires `spring-webflux` on the classpath.
If you can not or will not add webflux, Spring Boot also provides a `TestRestTemplate` facility:

9
spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/reactive/AutoConfigureWebTestClient.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2032 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -26,15 +26,18 @@ import java.time.Duration; @@ -26,15 +26,18 @@ import java.time.Duration;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
import org.springframework.boot.test.autoconfigure.properties.PropertyMapping;
import org.springframework.context.ApplicationContext;
import org.springframework.test.web.reactive.server.WebTestClient;
/**
* Annotation that can be applied to a test class to enable a {@link WebTestClient}. At
* the moment, only WebFlux applications are supported.
* Annotation that can be applied to a test class to enable a {@link WebTestClient} that
* is bound directly to the application. Tests do not rely upon an HTTP server and use
* mock requests and responses. At the moment, only WebFlux applications are supported.
*
* @author Stephane Nicoll
* @since 2.0.0
* @see WebTestClientAutoConfiguration
* @see WebTestClient#bindToApplicationContext(ApplicationContext)
*/
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)

Loading…
Cancel
Save