【发布时间】:2021-04-11 16:42:53
【问题描述】:
我想要实现的是测试一些背后有网络套接字通信的逻辑。
我最近实现了 WebSocket 客户端端点,我想像 http 与 WireMock 的集成一样对其进行测试 - 以声明方式指定预期来自外部 WebSocket 服务器的 Web 套接字消息。
预期的库/API:
// SomeLibrary is configured properly
SomeLibrary.stubSocketMessage(forSession(idFromString("Some session id.")))
.respondTo("Message sent from service with web socket client endpoint.")
.withText("Response from web socket server stub.")
.withDelay(500);
// calling my logic that uses WS / sends message
// assertions
我找不到这样的库,因此我只是在我的测试包中实现了嵌入式 websocket 服务器。单会话场景就足够了。
总结一下:我的服务层某处有一个 websocket 连接,我想用 MockMvc 编写端到端测试。我想要一些预定义的 WS 模拟行为,所以我需要一个嵌入式 http/ws 服务器并指定其 WS 服务器端点的行为。
我想要实现的目标有解决方案吗? 写这样的测试有意义吗?如果不是,为什么?
【问题讨论】:
标签: java websocket integration stub stubby4j