[英]Stub WebSocket server in Java
我想要實現的是測試一些背后有 web 套接字通信的邏輯。
I have recently implemented WebSocket client endpoint and I wanted to test it like http integrations with WireMock - declaratively specifying web socket messages that are expected from external WebSocket server.
預期的庫/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 服務器。 對於單個 session 場景來說已經足夠了。
總結一下:我的服務層某處有一個 websocket 連接,我想用 MockMvc 編寫端到端測試。 我想要一些預定義的 WS 模擬行為,所以我需要一個嵌入式 http/ws 服務器並指定其 WS 服務器端點的行為。
我想要實現的目標有解決方案嗎? 寫這樣的測試有意義嗎? 如果不是,為什么?
@patrolfr,
我將嘗試回答您的部分問題:是否有解決方案。
您可以查看https://github.com/azagniotov/stubby4j存根服務器。 它支持通過 HTTP/1.1、HTTP/2 和 WebSockets 協議對外部系統進行存根。 該庫使用基於 YAML 的配置來描述存根服務器行為。
更具體地說,關於 WebSockets 協議,請查看文檔: https://github.com/azagniotov/stubby4j/blob/master/docs/WEBSOCKETS_CONFIGURATION_HOWTO.md
完全披露:我是該項目的提交者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.