在编写用于测试Flux服务的测试用例时,我遇到以下错误:
FILE
我的代码就像:
java.lang.ClassNotFoundException: reactor.core.scheduler.TimedScheduler
我在pom中有以下依赖项:
FluxExchangeResult<Event> result = webTestClient.get()
.uri("/events")
.accept(MediaType.TEXT_EVENT_STREAM)
.exchange()
.expectStatus()
.isOk()
.returnResult(Event.class);
Flux<Event> eventFlux = result.getResponseBody();
StepVerifier.create(eventFlux)
.expectNextCount(10)
.expectComplete()
.verify();
有人面对并解决了类似的问题吗? 我从Dzone文章中引用了https://dzone.com/articles/spring-webflux-a-basic-crud-application-part-1
答案 0 :(得分:0)
尝试删除你的maven(.m2)存储库并构建agin。
答案 1 :(得分:0)
reactor-test
目前只有3.0.7.RELEASE
,其中包含reactor-core:3.0.7.RELEASE
。
当版本不匹配时,您将遇到未找到的类。
因此,你可以这样做
<properties>
<reactor.version>3.0.7.RELEASE</reactor.version>
</properties>
<dependencies>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
<version>${reactor.version}</version>
</dependency>
<dependency>
<groupId>io.projectreactor.addons</groupId>
<artifactId>reactor-test</artifactId>
<version>${reactor.version}</version>
</dependency>
</dependencies>
但是,您可能希望从this documentation开始获取最新的兼容版本。
答案 2 :(得分:0)
我使用了错误的依赖:
<dependency>
<groupId>io.projectreactor.addons</groupId>
<artifactId>reactor-test</artifactId>
<version>3.0.7.RELEASE</version>
</dependency>
正确的是:
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<version>3.1.0.RELEASE</version>
<scope>test</scope>
</dependency>
显示为google热门搜索的那个可能会用于其他用途。