我想知道什么是测试SSE的最好方法?
我想测试的是,我想检查我发送的消息(使用Kafka)是否与我在SSE中接收的消息相同。
我已经读到我可以使用WebTestClient来完成这个任务,但我不明白的是如何连接到SSE,发送消息,然后检查我的消息是否正确。
我提供了以下守则:
public void sseIsRunning() {
WebTestClient client = WebTestClient.bindToServer()
.baseUrl("http://localhost:8080")
.build();
client.get()
.uri("/sse/1")
.accept(TEXT_EVENT_STREAM)
.exchange()
.expectStatus().isOk()
.returnResult(MyEvent.class);
StepVerifier.create(result.getResponseBody())
.expectNext(myEvent())
.thenCancel()
.verify();
} private MyEvent myEvent() {
MyEvent myEvent = new MyEvent();
myEvent.setClientId(1);
return myEvent;
} public void messageIsSent() {
kafka.sendMessage("myTopic", myEvent());
}发布于 2020-04-28 11:26:36
我的问题是我不得不订阅
public void sseIsRunning() {
WebTestClient client = WebTestClient.bindToServer()
.baseUrl("http://localhost:8080")
.build();
client.get()
.uri("/sse/1")
.accept(TEXT_EVENT_STREAM)
.exchange()
.expectStatus().isOk()
.returnResult(MyEvent.class)
.getResponseBody()
.subscribe(new Consumer<String>() {
@Override
public void accept(String event) {
// response map for MyEvent class
}
});}
https://stackoverflow.com/questions/61411328
复制相似问题