此版本仍在开发中,目前尚不被视为稳定版本。如需最新稳定版本,请使用 spring-cloud-contract 5.0.2spring-doc.cadn.net.cn

WebFlux 与 WebTestClient

您可以使用 WebTestClient 与 WebFlux 进行协作。以下列表展示了如何将 WebTestClient 配置为测试模式:spring-doc.cadn.net.cn

Maven
<plugin>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-contract-maven-plugin</artifactId>
    <version>${spring-cloud-contract.version}</version>
    <extensions>true</extensions>
    <configuration>
        <testMode>WEBTESTCLIENT</testMode>
    </configuration>
</plugin>
Gradle
contracts {
		testMode = 'WEBTESTCLIENT'
}

以下示例展示了如何为 WebFlux 设置 WebTestClient 基类和 RestAssured:spring-doc.cadn.net.cn

import io.restassured.module.webtestclient.RestAssuredWebTestClient;
import org.junit.Before;

public abstract class BeerRestBase {

	@Before
	public void setup() {
		RestAssuredWebTestClient.standaloneSetup(
		new ProducerController(personToCheck -> personToCheck.age >= 20));
	}
}
}
模式 WebTestClient 比模式 EXPLICIT 更快。